适当的自适应卡片输入.ChoiceSet 模板结构

Posted

技术标签:

【中文标题】适当的自适应卡片输入.ChoiceSet 模板结构【英文标题】:Proper Adaptive Card Input.ChoiceSet Templating Structure 【发布时间】:2020-01-10 20:50:51 【问题描述】:

要在 Input.ChoiceSet 上设置选择,需要什么数据 json?

卡 Json


    "type": "AdaptiveCard",
    "body": [
        
            "type": "Input.ChoiceSet",
            "placeholder": "Placeholder text",
            "choices": [
                
                    "title": "Choice 1",
                    "value": "1"
                ,
                
                    "title": "Choice 2",
                    "value": "2"
                
            ],
            "style": "expanded",
            "id": "sample"
        
    ],
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.0"

示例数据 Json

如果我想将Choice 1 的值设置为选中,这个结构应该是什么?


    // I've tried this:
    "sample": 
        "value": "1"
    

-----------------------------

    // Also tried
    "sample": "1"

我正在阅读Adaptive Card schema for Input.ChoiceSet,我看到卡json "value": 属性可以在卡中设置为默认值,但我希望有一种方法可以从模板json 中做到这一点。否则,我必须在构建卡片之前将其“注入”到卡片 json 中。

【问题讨论】:

【参考方案1】:

根据您的样本,您必须这样做:

            [...]
            "placeholder": "Placeholder text",
            "value": 1,
            "choices": [
                
                    "title": "Choice 1",
                    "value": "1"
                ,
             [...]

根据您的选择数组中的值之一设置初始值。它仅适用于其中一个条目的相应值完全相同的情况。 如果这是您所要求的,则没有像“selected:true”或类似的东西。

当为此使用模板时,您必须返回一个选定的属性并将其设置为“值”:$root.selected

【讨论】:

是的,你成功了。我应该更清楚我在问什么。谢谢! 自 2021 年 9 月起,当用户使用 Teams 客户端提交卡片时,此功能已停止工作

以上是关于适当的自适应卡片输入.ChoiceSet 模板结构的主要内容,如果未能解决你的问题,请参考以下文章

BotFramework-WebChat - 自适应卡片

适用于常见问题的自适应卡内的自适应卡

具有 Luis 意图的自适应卡片

[BotFramework]:如何在瀑布对话框中捕获/提取通过 C# 网络聊天机器人中呈现的自适应卡片提交的值?

如何将自定义 json 转换为自适应卡片 json 格式

如何处理自适应卡片机器人框架 v4 上的点击操作?