1

在我的模态视图中,我有两个datePicker元素。我知道每次交互后都会发送带有操作信息的有效负载,但是是否可以在表单提交后传递所有选定的值?我只提出了解决方案,在每次交互后,选定的值都缓存在服务器端并绑定到view_id.

4

3 回答 3

1

对于像我一样偶然发现这一点的人,上面的答案不再是最新的,因为现在 slack 允许输入块调度块动作。使用private_metadata的方法在某些场景中仍然适用,但仅接收块操作会使生活变得更轻松。

只需在定义特定输入块时将“dispatch_action”设置为 true,以便在更新时接收有效负载。

用户提交后,您仍然可以访问输入数据的所有值

于 2021-03-24T07:50:13.967 回答
1

您好,您可以通过将交互组件放置在输入块类型中来实现此目的。Slack 文档说。

输入块中使用的任何交互式组件都不会发送此 block_actions 有效负载。它们仅包含在 view_submission 有效负载中。

https://api.slack.com/reference/interaction-payloads/block-actions

我在块套件中创建的一个示例

于 2019-12-12T13:45:31.693 回答
1

如果您不需要接收block_actions事件,请使用inputGJoshi 建议的块。

但是,如果您确实需要这些block_actions事件,则不能使用input块(根据https://api.slack.com/surfaces/modals/using#interactions)。在这种情况下,您可以通过views.update调用将值添加到private_metadata字段。当用户单击提交按钮时,view_submission事件负载将包含该字段。private_metadata

于 2020-02-14T04:13:15.503 回答