Slack диалог аксессуар Stati c выбрать не работает - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь открыть расслабленный модал. Вот мой JSON. Значение не передается, когда поле помещено под вспомогательный элемент. Я получаю сообщение об ошибке рядом с полем. Я делаю что-то не так? То же самое работает, когда я помещаю это в блоки типа ввода. Ниже приведен код JSON, который я создал с помощью Slack Block Kit Builder. Я также добавил action_id

{
    "type": "modal",
    "title": {
        "type": "plain_text",
        "text": "My App",
        "emoji": true
    },
    "submit": {
        "type": "plain_text",
        "text": "Submit",
        "emoji": true
    },
    "close": {
        "type": "plain_text",
        "text": "Cancel",
        "emoji": true
    },
"blocks": [
            {
            "type": "section",
            "text": {
                "type": "mrkdwn",
                "text": "To"
            },
            "accessory": {
                "type": "static_select",
                "action_id": "to_time",
                "placeholder": {
                    "type": "plain_text",
                    "text": "Select an item",
                    "emoji": true
                },
                "options": [
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "8 AM",
                            "emoji": true
                        },
                        "value": "8"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "9 AM",
                            "emoji": true
                        },
                        "value": "9"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "10 AM",
                            "emoji": true
                        },
                        "value": "10"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "11 AM",
                            "emoji": true
                        },
                        "value": "11"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "12 PM",
                            "emoji": true
                        },
                        "value": "12"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "1 PM",
                            "emoji": true
                        },
                        "value": "1"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "2 PM",
                            "emoji": true
                        },
                        "value": "2"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "3 PM",
                            "emoji": true
                        },
                        "value": "3"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "4 PM",
                            "emoji": true
                        },
                        "value": "4"
                    },
                    {
                        "text": {
                            "type": "plain_text",
                            "text": "5 PM",
                            "emoji": true
                        },
                        "value": "5"
                    }
                ]
            }
        }
    ]
}

Значение не передано

This is the block

1 Ответ

1 голос
/ 26 марта 2020

Вам нужно использовать views.open вместо dialog.open. Поскольку вы используете блочные элементы внутри модального пространства и, следовательно, предлагается использовать view.open Я надеюсь, что это сработает для вас.

Затем проверьте, добавили ли вы веб-крючок для интерактивного компонента. enter image description here

Похоже, проблема с URL вашего веб-крюка. Пожалуйста, проверьте еще раз? Я попробовал с вашим JSON, и он работает как шарм!

Код:

    const data = {
        token: authToken,
        trigger_id: trigger_id,
        view: {
            // Json goes here
        }
    };
    const headers = {
        Authorization: `Bearer ${authToken}`
    }
    const response = await axios.post(`${apiUrl}/views.open`, data, { headers });
    console.log(response.data);
    return response;

Диалог:

enter image description here

Успешный ответ:

enter image description here

...