선택 입력

SelectionInput 위젯은 선택 가능한 항목 모음(예: 체크박스 목록, 라디오 버튼, 스위치 또는 드롭다운 메뉴)을 제공합니다.

위젯은 사용자가 동일한 데이터를 입력할 수 있는 추천 기능 및 사용자가 텍스트를 추가하거나 삭제하는 등 텍스트 입력란에서 변경사항이 발생할 때 실행되는 Actions 작업 시 이를 지원합니다.

사용자로부터 정의되고 표준화된 데이터를 수집해야 하는 경우 이 SelectionInput 위젯을 사용하세요. 사용자로부터 정의된 데이터를 수집하려면 대신 TextInput 위젯을 사용하세요.

채팅 앱은 양식 입력 이벤트 중에 선택한 항목의 값을 수신하고 처리할 수 있습니다. 양식 입력 작업에 대한 자세한 내용은 양식 데이터 수신을 참고하세요.

대화상자에서만 지원됩니다. 카드 메시지도 곧 지원됩니다.

다음 이미지는 SelectionInput 위젯으로 구성된 카드를 보여줍니다.

체크박스

체크박스 선택 입력 위젯이 있는 대화상자
그림 1: 체크박스 SelectionInput 위젯을 사용하여 사용자에게 문의가 전문직인지 개인인지 묻는 대화상자가 표시됩니다.

라디오 버튼

라디오 선택 입력 위젯이 있는 대화상자
그림 2: 라디오 SelectionInput 위젯을 사용하여 사용자에게 문의가 전문직인지 개인인지 지정하는 대화상자가 표시됩니다.

스위치

스위치 선택 입력 위젯이 있는 대화상자
그림 3: 전환 SelectionInput 위젯을 사용하여 사용자에게 문의가 전문직인지 개인인지 묻는 대화상자가 표시됩니다.

드롭다운 선택 입력 위젯이 있는 대화상자
그림 4: 드롭다운 SelectionInput 위젯을 사용하여 사용자에게 문의가 전문직인지 개인인지 묻는 대화상자가 표시됩니다.

카드의 JSON은 다음과 같습니다.

체크박스

{
  "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
                    }
                  ]
                }
              },
            ]
          }
        ]
      }
    }
  ]
}

라디오 버튼

{
  "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
                    }
                  ]
                }
              },
            ]
          }
        ]
      }
    }
  ]
}

스위치

{
  "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 JSON 표현 및 필드

JSON 표현
{
  "name": string,
  "label": string,
  "type": enum (SelectionType),
  "items": [
    {
      object (SelectionItem)
    }
  ],
  "onChangeAction": {
    object (Action)
  }
}
필드
name

string

양식 입력 이벤트에서 선택 입력이 식별되는 이름입니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

label

string

사용자 인터페이스의 선택 입력란 위에 표시되는 텍스트입니다.

사용자가 앱에 필요한 정보를 입력하는 데 도움이 되는 텍스트를 지정합니다. 예를 들어 사용자가 드롭다운 메뉴에서 작업 티켓의 긴급도를 선택하는 경우 라벨은 '긴급' 또는 '긴급 선택'일 수 있습니다.

type

enum ( SelectionType )

옵션이 사용자에게 표시되는 방식입니다. 옵션마다 지원하는 상호작용 유형이 다릅니다. 예를 들어 사용자는 여러 체크박스를 사용 설정할 수 있지만 드롭다운 메뉴에서 하나의 값만 선택할 수 있습니다.

각 선택 입력은 한 가지 유형의 선택을 지원합니다. 예를 들어 체크박스와 스위치를 함께 사용하는 것은 지원되지 않습니다.

items[]

object ( SelectionItem )

선택한 항목의 배열입니다. 예: 선택한 모든 체크박스

onChangeAction

object ( Action )

지정된 경우 선택이 변경될 때 양식이 제출됩니다. 지정하지 않으면 양식을 제출하는 별도의 버튼을 지정해야 합니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

열거형 값 SelectionType

열거형
CHECK_BOX 체크박스 세트 사용자는 선택 항목당 여러 개의 체크박스를 선택할 수 있습니다.
RADIO_BUTTON 라디오 버튼 모음 사용자는 선택 입력당 하나의 라디오 버튼을 선택할 수 있습니다.
SWITCH 스위치 세트 사용자는 선택 항목당 한 번에 여러 스위치를 사용 설정할 수 있습니다.
DROPDOWN 드롭다운 메뉴 사용자는 선택 항목당 하나의 드롭다운 메뉴 항목을 선택할 수 있습니다.

SelectionItem JSON 표현 및 필드

JSON 표현
{
  "text": string,
  "value": string,
  "selected": boolean
}
필드
text

string

사용자에게 표시되는 텍스트입니다.

value

string

이 항목과 연결된 값입니다. 클라이언트는 이 값을 양식 입력 값으로 사용해야 합니다.

양식 입력 작업에 관한 자세한 내용은 양식 데이터 수신을 참고하세요.

selected

boolean

true 인 경우 항목이 두 개 이상 선택됩니다. 라디오 버튼과 드롭다운 메뉴에 항목이 2개 이상 선택된 경우 첫 번째로 선택한 항목이 수신되고 그 이후의 항목은 무시됩니다.