如何在自适应卡模板中使用 $when 找出传入数据有效负载的长度并删除输入块
How to use $when in an adaptive card template to find out the length of an incoming data payload and drop an input block
我有一个 JSON 文件形式的自适应卡,其中包含一个 Input.ChoiceSet
。这是随数据有效负载一起提供的,它是动态的,因此每次的数据量都不相同。如果它根据我要传递给它的数据数组的长度打破某个阈值,我希望能够删除它 Input.ChoiceSet
。是否可以使用 %when
将其写为 Input.ChoiceSet
中的条件来执行此操作?
这就是我目前拥有的,但它没有像我希望的那样工作:
{
"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": "${count(data) < 400}",
"placeholder": "Select a value",
"choices": [
{
"$data": "${data}",
"title": "${name}",
"value": "${tag}"
}
],
"label": "Input"
}
如果条件为真,则选择按钮将从自适应卡中隐藏。
我有一个 JSON 文件形式的自适应卡,其中包含一个 Input.ChoiceSet
。这是随数据有效负载一起提供的,它是动态的,因此每次的数据量都不相同。如果它根据我要传递给它的数据数组的长度打破某个阈值,我希望能够删除它 Input.ChoiceSet
。是否可以使用 %when
将其写为 Input.ChoiceSet
中的条件来执行此操作?
这就是我目前拥有的,但它没有像我希望的那样工作:
{
"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": "${count(data) < 400}",
"placeholder": "Select a value",
"choices": [
{
"$data": "${data}",
"title": "${name}",
"value": "${tag}"
}
],
"label": "Input"
}
如果条件为真,则选择按钮将从自适应卡中隐藏。