Entrada de seleção

O widget do SelectionInput oferece um conjunto de itens selecionáveis, como uma lista de caixas de seleção, botões de opção, chaves ou um menu suspenso.

O widget é compatível com sugestões, que ajudam os usuários a inserir dados uniformes, e ações em mudanças, que são Actions executadas quando uma mudança ocorre no campo de entrada de texto, como um usuário que adiciona ou exclui texto.

Quando precisar coletar dados definidos e padronizados dos usuários, use este widget SelectionInput. Para coletar dados definidos dos usuários, use o widget TextInput.

Os apps de chat recebem e podem processar o valor dos itens selecionados durante eventos de entrada do formulário. Veja mais detalhes sobre como trabalhar com entradas de formulário em Receber dados do formulário.

Compatível apenas com caixas de diálogo. O suporte para mensagens de cartão estará disponível em breve.

Exemplo

A imagem a seguir mostra um card que consiste em um widget SelectionInput.

Caixas de seleção

Uma caixa de diálogo com um widget de entrada para seleção de caixa de seleção.
Figura 1: uma caixa de diálogo solicita que o usuário especifique se um contato é profissional e/ou pessoal com um widget de caixa de seleção SelectionInput.

Botões de opção

Uma caixa de diálogo com um widget de entrada de seleção de rádio.
Figura 2: uma caixa de diálogo solicita que o usuário especifique se um contato é profissional ou pessoal com um widget SelectionInput de rádio.

Interruptores

Uma caixa de diálogo com um widget de entrada para seleção de interruptor.
Figura 3: uma caixa de diálogo solicita que o usuário especifique se um contato é profissional ou pessoal com um widget de alternância SelectionInput.

Uma caixa de diálogo com um widget de entrada na seleção do menu suspenso.
Figura 4: uma caixa de diálogo solicita que o usuário especifique se um contato é profissional ou pessoal com um widget SelectionInput suspenso.

Este é o JSON do cartão:

Caixas de seleção

{
  "cardsV2": [
    {
      "cardId": "exampleCard",
      "card": {
        "sections": [
          {
            "header": "Add new contact",
            "widgets": [
              {
                "selectionInput": {
                  "type": "CHECK_BOX",
                  "label": "Contact type",
                  "name": "contactType",
                  "items": [
                    {
                      "text": "Work",
                      "value": "Work",
                      "selected": false
                    },
                    {
                      "text": "Personal",
                      "value": "Personal",
                      "selected": false
                    }
                  ]
                }
              },
            ]
          }
        ]
      }
    }
  ]
}

Botões de opção

{
  "cardsV2": [
    {
      "cardId": "exampleCard",
      "card": {
        "sections": [
          {
            "header": "Add new contact",
            "widgets": [
              {
                "selectionInput": {
                  "type": "RADIO_BUTTON",
                  "label": "Contact type",
                  "name": "contactType",
                  "items": [
                    {
                      "text": "Work",
                      "value": "Work",
                      "selected": false
                    },
                    {
                      "text": "Personal",
                      "value": "Personal",
                      "selected": false
                    }
                  ]
                }
              },
            ]
          }
        ]
      }
    }
  ]
}

Interruptores

{
  "cardsV2": [
    {
      "cardId": "exampleCard",
      "card": {
        "sections": [
          {
            "header": "Add new contact",
            "widgets": [
              {
                "selectionInput": {
                  "type": "SWITCH",
                  "label": "Contact type",
                  "name": "contactType",
                  "items": [
                    {
                      "text": "Work",
                      "value": "Work",
                      "selected": false
                    },
                    {
                      "text": "Personal",
                      "value": "Personal",
                      "selected": false
                    }
                  ]
                }
              },
            ]
          }
        ]
      }
    }
  ]
}
{
  "cardsV2": [
    {
      "cardId": "exampleCard",
      "card": {
        "sections": [
          {
            "header": "Add new contact",
            "widgets": [
              {
                "selectionInput": {
                  "type": "DROPDOWN",
                  "label": "Contact type",
                  "name": "contactType",
                  "items": [
                    {
                      "text": "Work",
                      "value": "Work",
                      "selected": false
                    },
                    {
                      "text": "Personal",
                      "value": "Personal",
                      "selected": false
                    }
                  ]
                }
              },
            ]
          }
        ]
      }
    }
  ]
}

SelectionInput representação e campos JSON

Representação JSON
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  }
}
Campos
name

string

O nome pelo qual a entrada de seleção é identificada em um evento de entrada do formulário.

Para ver detalhes sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário .

label

string

O texto que aparece acima do campo de entrada da seleção na interface do usuário.

Especifique o texto que ajuda o usuário a inserir as informações necessárias do app. Por exemplo, se os usuários selecionarem a urgência de um tíquete de trabalho em um menu suspenso, o rótulo poderá ser "Urgência" ou "Selecionar urgência".

type

enum ( SelectionType )

A forma como uma opção aparece para os usuários. Diferentes opções oferecem suporte a diferentes tipos de interações. Por exemplo, os usuários podem ativar várias caixas de seleção, mas só podem selecionar um valor em um menu suspenso.

Cada entrada de seleção é compatível com um tipo de seleção. Não é possível misturar caixas de seleção e interruptores, por exemplo.

items[]

object ( SelectionItem )

Uma matriz dos itens selecionados. Por exemplo, todas as caixas de seleção marcadas.

onChangeAction

object ( Action )

Se especificado, o formulário é enviado quando a seleção muda. Se não for especificado, você precisará especificar um botão separado que envie o formulário.

Para ver detalhes sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário .

SelectionType valores enumerados

Enums
CHECK_BOX Um conjunto de caixas de seleção. Os usuários podem marcar várias caixas de seleção por entrada.
RADIO_BUTTON Um conjunto de botões de opção. Os usuários podem selecionar um botão de opção por entrada de seleção.
SWITCH Um conjunto de interruptores. Os usuários podem ativar vários interruptores de uma vez por entrada de seleção.
DROPDOWN Um menu suspenso. Os usuários podem selecionar um item de menu suspenso para cada entrada de seleção.

SelectionItem representação e campos JSON

Representação JSON
{
  "text": string,
  "value": string,
  "selected": boolean
}
Campos
text

string

O texto exibido aos usuários.

value

string

O valor associado a este item. O cliente deve usar essa informação como valor de entrada do formulário.

Para ver detalhes sobre como trabalhar com entradas de formulário, consulte Receber dados de formulário .

selected

boolean

Quando true , mais de um item é selecionado. Se mais de um item for selecionado para os botões de opção e menus suspensos, o primeiro item selecionado será recebido, e os seguintes serão ignorados.