Показать номер в адаптивной карточке - PullRequest
0 голосов
/ 09 января 2020

У меня есть следующая простая карта:

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

Когда я применяю к карте следующие данные (значение является числом), текстовое поле пустое:

{
"data":11111
}

С текст, я могу видеть данные в карточке:

{
"data":"11111"
}

Это не проблема кода, это выглядит в конструкторе. Я что-то упустил, есть тип для текстового поля, который позволяет отображать числа, или это по своему замыслу, и я должен изменить все числовые поля c на текст?

Ответы [ 2 ]

0 голосов
/ 09 января 2020

Это ограничение предварительного просмотра (известного как Type Coercion), к которому мы надеемся обратиться перед выпуском. В качестве другого обходного пути вы можете включить пробел после выражения привязки, который преобразует его в строку. См. Пример ниже, обратите внимание на пробел после {data}


   {
        "type": "AdaptiveCard",
        "version": "1.0",
        "body": [
            {
                "type": "TextBlock",
                "text": "{data} "
            }
        ],
        "$schema": "http://adaptivecards.io/schemas/adaptive-card.json"
    }
0 голосов
/ 09 января 2020

Я предполагаю, что вы используете Шаблон адаптивных карт для этого. Помните, что это (а) только для предварительного просмотра и (б) просто один вариант для создания адаптивной карты. По сути, в конце дня карта представляет собой просто строку текста JSON, поэтому вы можете создать ее тремя основными способами:

  1. Используя шаблоны, как вы делаете сейчас
  2. Выполнение собственной замены строки (например, var card = '... "text": "## Number ##" ...' и затем card = card.Replace ("## Number ##", formattedNumberValue)
  3. Использование строго типизированных опций, таких как AdaptiveCards Nuget для C#, например

Итак, я бы предложил, если это невозможно использовать Templating, чтобы посмотреть больше на варианты 2 или 3. Я описал это немного подробнее здесь , с некоторыми ссылками на C# и примерами Node.

Надеюсь, что это поможет

...