You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用controller.js数组填充Slack Block Kit的view.js复选框

用controller.js数组填充复选框的实现方法

你可以通过数组的map方法,把controller里的字符串数组转换成复选框组件要求的options对象结构,直接替换掉My-view.js里硬编码的options数组即可。

修改后的My-view.js代码

// 确保arr已经从controller.js中引入到当前文件
function arrayBlock() {
    return createModalBlock('Engage', [
        {
            type: 'section',
            text: {
                type: 'mrkdwn',
                text: 'This is a section block with checkboxes.'
            },
            accessory: {
                type: 'checkboxes',
                // 用map遍历数组生成符合要求的选项结构
                options: arr.map((item, index) => ({
                    text: {
                        type: 'mrkdwn',
                        text: item
                    },
                    description: {
                        type: 'mrkdwn',
                        text: 'user description'
                    },
                    value: `value-${index}`
                })),
                action_id: 'checkboxes-action'
            }
        }
    ], {
        close: {
            type: 'plain_text',
            text: 'Close',
        },
    });
}

关键说明

  • arr.map((item, index) => { ... })会遍历controller中的数组,把每个字符串元素转换成复选框需要的option对象
  • 复选框显示的文本直接使用数组里的item值,确保显示内容是option 1、option 2等
  • value用value-${index}生成唯一标识,对应每个选项的索引,方便后续处理选中事件
  • 如果需要给不同选项设置不同描述,可在map回调里根据item调整description.text的内容

内容的提问来源于stack exchange,提问作者Daniiiii

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:52:45