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

如何在Power Automate自适应卡片中用动态数组生成Input.ChoiceSet

动态生成Adaptive Cards的Input.ChoiceSet选项

核心思路

把从SharePoint获取的用户数组,转换成Adaptive Cards要求的choices格式数组(每个元素包含title和value字段),再替换硬编码的choices部分即可。

步骤1:转换用户数组为ChoiceSet格式

根据你提供的用户数组,提取每个用户的displayName作为title,mail作为value。以下是不同开发环境的实现示例:

JavaScript/TypeScript示例

// 从SharePoint获取的用户数组
const users = [
  {
    "@odata.type": "#microsoft.graph.user",
    "id": "a9b4ab8dfd78",
    "displayName": "Paul Smith",
    "mail": "Paul@mail.com"
  },
  {
    "@odata.type": "#microsoft.graph.user",
    "id": "b94bbcb08f",
    "displayName": "Mike Jones",
    "mail": "Mike@mail.com"
  },
  {
    "@odata.type": "#microsoft.graph.user",
    "id": "96d9c39e6b",
    "displayName": "Todd Neal",
    "mail": "Todd@mail.com"
  }
];

// 转换为ChoiceSet需要的格式
const choiceSetOptions = users.map(user => ({
  title: user.displayName,
  value: user.mail
}));

Power Automate示例

使用选择操作,设置映射字段:

  • title:选择用户数组中的displayName
  • value:选择用户数组中的mail

步骤2:替换硬编码的choices部分

将转换后的数组替换到Adaptive Card的Input.ChoiceSet的choices字段中。最终卡片JSON示例:

"actions": [
    {
        "type": "Action.ShowCard",
        "title": "分配请求",
        "card": {
            "type": "AdaptiveCard",
            "body": [
                {
                    "type": "Input.ChoiceSet",
                    "id": "AssignedMember",
                    "choices": [], // 此处填入转换后的动态数组
                    "errorMessage": "这是必填项",
                    "placeholder": "请选择",
                    "isRequired": true
                }
            ],
            "actions": [
                {
                    "type": "Action.Submit",
                    "title": "确定"
                }
            ],
            "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
        }
    }
]

注意事项

  • 确保用户数组中的mail字段不为空,避免生成无效选项值
  • 其他开发环境(如C#)的转换逻辑类似:遍历数组,提取对应字段构造新数组即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 16:52:37