提交中的自适应卡输入值

问题描述

嗨,我正在使用网页中的Adaptive card SDK,并使用了这样的样本卡:

  var card = {
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json","type": "AdaptiveCard","version": "1.0","body": [
    {
        "type": "TextBlock","text": "Present a form and submit it back to the originator"
    },{
        "type": "Input.Text","id": "firstName","placeholder": "What is your first name?"
    },"id": "lastName","placeholder": "What is your last name?"
    }
],"actions": [
    {
        "type": "Action.Submit","title": "Action.Submit"
    }
]};

并使用通常的标题进行渲染。我想将输入与提交一起返回,所以我尝试了

     // Set the adaptive card's event handlers. onExecuteAction is invoked
    // whenever an action is clicked in the card
    adaptiveCard.onExecuteAction = function (action) { console.log(action.toJSON()) }

这给了我: Object title: "Action.Submit" type: "Action.Submit" __proto__: Object

如何获取提交操作上输入字段的值?

TIA提供任何评论,建议和答案

解决方法

您可以像下面这样使用 action对象的data属性

  adaptiveCard.onExecuteAction = function (action) {
    alert(`Hello ${action.data.firstName} ${action.data.lastName}`);
  }

这里是完整的jsfiddle

Sample submit

动作对象上还有许多其他有趣的属性,但是我没有找到好的文档。 但是,自适应卡片可视器的source code包含一些用法示例。