json - 如何在自适应卡片模板中使用 $when 来找出传入数据有效负载的长度并删除输入块
问题描述
我有一个 JSON 文件形式的自适应卡,其中包含一个Input.ChoiceSet
. 这是随数据有效负载提供的,它是动态的,因此每次的数据量都不相同。Input.ChoiceSet
如果它根据我要传递给它的数据数组的长度打破某个阈值,我希望能够放弃它。是否可以将其写为Input.ChoiceSet
使用中的条件%when
来执行此操作?
这是我目前所拥有的,但它没有像我希望的那样工作:
{
"type": "Input.ChoiceSet",
"id": "CompactSelectVal1",
"$when": "${$data.length < 400}",
"placeholder": "Select a value",
"choices": [
{
"$data": "${data}",
"title": "${name}",
"value": "${tag}"
}
],
"label": "Input"
}
在这里使用.length
只是一个猜测,而不是基于任何文档。我用来查找的文档$when
如下https://docs.microsoft.com/en-us/adaptive-cards/templating/language。
对此的任何帮助将不胜感激。
解决方案
您可以使用“count”属性而不是“length”,还可以删除花括号“${$data.length < 400}”中多余的“$”。
试试这个:
{
"type": "Input.ChoiceSet",
"id": "CompactSelectVal1",
"$when": "${data.count < 400}",
"placeholder": "Select a value",
"choices": [
{
"$data": "${data}",
"title": "${name}",
"value": "${tag}"
}
],
"label": "Input"
}
如果条件为真,则选择按钮将从自适应卡中隐藏。
推荐阅读
- php - 从 db 中按字符串对数组进行排序
- typo3 - 通过 URL 别名 (RealURL) 获取页面 UID
- javascript - PrimeNG
“无效时间”和“value.getDate 不是函数”错误 - swift - 在连接到 xib 文件的 UIViewController 中无法识别子视图
- sql-server - SQL Server 2016 - .net 框架公共语言运行时出现致命错误。sql server 正在关闭
- angular - Angular Material - 扁平树和嵌套树之间的区别
- javascript - 将启用/禁用按钮的复选框
- java - 如何在 java Hibernate 中的整个应用程序中设置 FetchSize
- php - PHPMailer 发送重复的电子邮件
- android - 对话框图标不会出现在 Kotlin 对话框中