【发布时间】:2020-08-16 04:21:30
【问题描述】:
在某些情况下我必须使用自适应卡片。当我使用这些卡片时,我需要一些按钮可以在单击时执行不同的操作。以前,我一直在使用英雄卡来返回数据并创建按钮。我发现 postBack(对于英雄卡)是我最有效地接受按钮输出的方式。不幸的是,自适应卡片似乎没有 postBack。相反,我需要使用 Action.Submit。但是,当我这样做时,我最终会将按钮中的文本显示为对话的一部分。我不希望这样,并且需要它与 postBack 保持一致。我尝试使用此评论 https://github.com/Microsoft/AdaptiveCards/issues/558 中的方法(这家伙的问题与我完全相同)但是,它似乎不再起作用(从 2017 年开始)。有什么建议? 我正在使用 SDK V4 和 Azure 门户中的基本机器人 NodeJS 构建。 提前感谢您的帮助
添加代码以获取更多详细信息:
var card = {
"type": "AdaptiveCard",
"version": "1.0",
"body": [
{"type": "TextBlock",
"text": answer},
table],
"actions" : [{
"type": "Action.Submit",
"title": wrap(promptQuestions[0]),
"data": promptQuestions[0]
},
{
"type": "Action.Submit",
"title": wrap(promptQuestions[1]),
"data": promptQuestions[1]
}]
}
console.log(card)
return CardFactory.adaptiveCard(card);
【问题讨论】:
-
"PostBack" 是提交操作的默认行为(意味着文本不应显示)。请提供相关自适应卡的代码并告诉我们您使用的渠道。还要解释当您尝试使用 GitHub 问题中的方法时会发生什么。
-
我目前正在模拟器中运行。这个当前版本显示了我点击的按钮的数据。我不想表现出来。我相信当我使用 GitHub 版本时,我得到了一个错误。我会再次尝试获取更多信息。
-
GitHub的解决方案会导致按钮在我点击的时候什么都不做。
-
有道理。不幸的是,它以这种方式工作,但我会找到解决方法。感谢您的帮助。
-
没有必要找到绕过它的方法。我已经准确地解释了你需要做什么。你读过我链接的博客文章吗?为什么不幸?
标签: azure botframework adaptive-cards