【问题标题】:Display number in adaptive card在自适应卡中显示数字
【发布时间】:2020-04-26 23:34:21
【问题描述】:

我有以下简单的卡片:

    {
        "type": "AdaptiveCard",
        "version": "1.0",
        "body": [
            {
                "type": "TextBlock",
                "text": "{data}"
            }
        ],
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
    }

当我将以下数据应用于卡片(值为数字)时,文本框为空:

{
"data":11111
}

通过文字,我可以看到卡片中的数据:

{
"data":"11111"
}

这不是代码问题,这是它在设计器中的外观。我是否遗漏了什么,是否有一种文本框类型可以显示数字,或者这是设计使然,我必须将所有数字字段更改为文本?

【问题讨论】:

    标签: adaptive-cards


    【解决方案1】:

    这是我们希望在发布前解决的预览版限制(称为类型强制)。作为另一种解决方法,您可以在绑定表达式之后包含一个空格,这将强制它变成一个字符串。看下面的例子,注意{data}后面的空格

    
       {
            "type": "AdaptiveCard",
            "version": "1.0",
            "body": [
                {
                    "type": "TextBlock",
                    "text": "{data} "
                }
            ],
            "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
        }
    

    【讨论】:

      【解决方案2】:

      我猜你正在为此使用Adaptive Cards Templating。请记住,这只是 (a) 仅预览版和 (b) 仅 一个 用于构建自适应卡片的选项。基本上,在一天结束时,卡片只是一串 JSON 文本,因此您可以通过 3 种主要方式创建它:

      1. 像现在这样使用模板
      2. 自己替换字符串(例如 var card = '..."text": "##Number##"...' 然后 card = card.Replace("##Number##", formattedNumberValue )
      3. 使用强类型选项,例如 C# 的 AdaptiveCards Nuget

      因此,我建议,如果使用模板无法做到这一点,请更多地查看上面的选项 2 或 3。我对此进行了更多描述here,并提供了一些指向 C# 和 Node 示例的链接。

      希望有帮助

      【讨论】:

      • 嗯,现在,我只是和adaptivecards.io/designer 的设计师一起制作卡片,所以,我猜,那是在幕后使用模板。
      • 啊,好吧,我明白了。是的,似乎是新模板中的一个限制,但是如果您开始在实际项目中使用它,您可以使用我建议的其他方法之一,即使它只是在模板到达 V1 之前的过渡阶段。
      【解决方案3】:

      您现在可以使用函数formatNumber(value, decimalplaces)

      例如:

      {
        "type": "TextBlock",
        "text": "${formatNumber(somenumber), 2}"
      }
      

      您可以在此处阅读模式: https://docs.microsoft.com/en-us/azure/bot-service/adaptive-expressions/adaptive-expressions-prebuilt-functions?view=azure-bot-service-4.0#formatNumber

      【讨论】:

        猜你喜欢
        • 2020-07-29
        • 1970-01-01
        • 2020-06-10
        • 1970-01-01
        • 1970-01-01
        • 2021-11-12
        • 2020-06-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多