Widżet SelectionInput
zawiera zestaw elementów do wyboru, takich jak pola wyboru, przyciski, przełączniki i menu. Możesz używać tego widżetu do zbierania zdefiniowanych przez użytkownika danych, które są ustandaryzowane. Aby zbierać niezdefiniowane dane od użytkowników, użyj widżetu TextInput
.
Widżet SelectionInput
obsługuje sugestie, które ułatwiają wprowadzanie jednolitych danych, a także działania wykonywane w momencie zmiany, czyli zmiany w polu Actions
wykonywanej w momencie, gdy zmiana zajdzie w polu wprowadzania wyboru, na przykład podczas wybierania lub odznaczania elementu przez użytkownika.
Aplikacje Google Chat mogą odbierać i przetwarzać wartość wybranych elementów podczas zdarzeń wejściowych w formularzu. Szczegółowe informacje o korzystaniu z danych wejściowych formularza znajdziesz w artykule Odbieranie danych formularza.
Przykłady
Ta sekcja zawiera przykłady kart, które korzystają z widżetu SelectionInput
.
W przykładach użyto różnych rodzajów danych wejściowych sekcji:
Przykład 1: pola wyboru
Następujący obraz przedstawia okno dialogowe z prośbą o określenie, czy kontakt jest zawodowy czy osobisty, używając widżetu SelectionInput
z polami wyboru:

SelectionInput
.
Oto kod JSON karty:
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
}
]
}
},
]
}
]
}
}
]
}
Przykład 2: przyciski
Następujący obraz przedstawia okno dialogowe z prośbą o określenie, czy kontakt jest zawodowy czy osobisty, używając widżetu SelectionInput
z przyciskami:

SelectionInput
.
Oto kod JSON karty:
JSON
{
"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
}
]
}
},
]
}
]
}
}
]
}
Przykład 3. Przełączniki
Następujący obraz przedstawia okno z prośbą o określenie, czy kontakt jest profesjonalny czy osobisty, używając widżetu SelectionInput
z przełącznikami:

SelectionInput
.
Oto kod JSON karty:
Przełączniki
{
"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
}
]
}
},
]
}
]
}
}
]
}
Przykład 4. Menu
Poniższa ilustracja przedstawia okno dialogowe z prośbą o określenie, czy kontakt jest profesjonalny czy osobisty, używając widżetu SelectionInput
, który korzysta z menu:

SelectionInput
w menu
Oto kod JSON karty:
Menu
{
"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
}
]
}
},
]
}
]
}
}
]
}
Reprezentacja i pola JSON
Zapis JSON |
---|
{ "name": string, "label": string, "type": enum ( |
Pola | |
---|---|
name
|
Nazwa określająca dane wejściowe wybrane w zdarzeniu wprowadzania danych z formularza. Więcej informacji na temat pracy z danymi z formularzy znajdziesz w artykule Odbieranie danych formularza. |
label
|
Tekst wyświetlany nad polem wyboru w interfejsie. Podaj tekst, który pomoże użytkownikowi wpisać informacje, których potrzebuje Twoja aplikacja. Jeśli na przykład użytkownicy wybierają z menu opcję pilnego biletu do pracy, może ona mieć etykietę „Pilne” lub „Wybierz pilne”. |
type
|
Typ elementów wyświetlanych użytkownikom w widżecie |
items[]
|
Tablica elementów do wyboru. Przykładem może być tablica opcji lub pól wyboru. Obsługuje do 100 elementów. |
onChangeAction
|
Jeśli wybierzesz ten warunek, formularz zostanie przesłany po zmianie wyboru. Jeśli nie podasz odpowiedzi, musisz określić osobny przycisk, który przesyła formularz. Więcej informacji na temat pracy z danymi z formularzy znajdziesz w artykule Odbieranie danych formularza. |
Typ wyboru
Wartości w polu enum | |
---|---|
CHECK_BOX
|
Zestaw pól wyboru. Użytkownicy mogą zaznaczyć jedno lub więcej pól wyboru. |
RADIO_BUTTON
|
Zestaw opcji. Użytkownicy mogą wybrać tylko jedną opcję. |
SWITCH
|
Zestaw przełączników. Użytkownicy mogą włączyć co najmniej 1 przełącznik. |
DROPDOWN
|
Menu. Użytkownicy mogą wybrać jeden element z menu. |
Element wyboru
Zapis JSON |
---|
{ "text": string, "value": string, "selected": boolean } |
Pola | |
---|---|
text
|
Tekst określający lub opisujący produkt użytkownikom. |
value
|
Wartość powiązana z tym elementem. Klient powinien używać go jako wartości wejściowej formularza. Więcej informacji na temat pracy z danymi z formularzy znajdziesz w artykule Odbieranie danych formularza. |
selected
|
Jeśli wybrano element |
Czynność
Działanie opisujące zachowanie podczas przesyłania formularza. Możesz na przykład wywołać skrypt Apps Script, aby obsłużyć formularz. Jeśli działanie zostanie aktywowane, wartości formularza zostaną przesłane na serwer.
Zapis JSON |
---|
{ "function": string, "parameters": [ { object ( |
Pola | |
---|---|
function
|
Funkcja niestandardowa, która ma być wywoływana po kliknięciu lub aktywowaniu elementu zawierającego. Więcej informacji znajdziesz w artykule Tworzenie interaktywnych kart. |
parameters[]
|
Lista parametrów działania. |
loadIndicator
|
Określa wskaźnik wczytywania wyświetlany podczas wykonywania działania. |
persistValues
|
Wskazuje, czy po formularzu działanie formularza pozostaje aktywne. Wartością domyślną jest
Jeśli pole
Jeśli |
interaction
|
Opcjonalnie. Wymagane przy otwieraniu okna. Co zrobić w odpowiedzi na interakcję użytkownika, np. kliknięcie przycisku w wiadomości na karcie.
Jeśli nie określono inaczej, aplikacja reaguje w zwykły sposób, uruchamiając
Jeśli określisz Obsługiwane przez aplikacje do obsługi czatu, ale nie w ramach dodatków do Google Workspace. Jeśli dodatek jest określony jako dodatek, cała karta jest usuwana i nic nie jest wyświetlane w kliencie. |
Parametr działania
Lista parametrów ciągu znaków, które mają zostać podane po wywołaniu metody działania. Możesz np. wybrać 3 przyciski drzemki: drzemka teraz, drzemka na dzień lub drzemkę w przyszłym tygodniu. Można użyć właściwości action method = snooze()
, przekazując typ drzemki i czas drzemki na liście parametrów ciągu znaków.
Więcej informacji: CommonEventObject
.
Zapis JSON |
---|
{ "key": string, "value": string } |
Pola | |
---|---|
key
|
Nazwa parametru skryptu działania. |
value
|
Wartość parametru. |
Wskaźnik obciążenia
Określa wskaźnik wczytywania wyświetlany podczas wykonywania działania.
Wartości w polu enum | |
---|---|
SPINNER
|
Wyświetla wskaźnik postępu wczytywania treści. |
NONE
|
Nic nie jest wyświetlane. |
Interakcja
Opcjonalnie. Wymagane przy otwieraniu okna.
Co zrobić w odpowiedzi na interakcję użytkownika, np. kliknięcie przycisku w wiadomości na karcie.
Jeśli nie określono inaczej, aplikacja reaguje w zwykły sposób, uruchamiając action
, np. otwierając link lub uruchamiając funkcję.
Jeśli określisz interaction
, aplikacja może reagować w specjalny sposób. Jeśli na przykład ustawisz interaction
na wartość OPEN_DIALOG
, aplikacja będzie mogła otwierać okno.
Jeśli podasz wartość, wskaźnik ładowania się nie wyświetli.
Obsługiwane przez aplikacje do obsługi czatu, ale nie w ramach dodatków do Google Workspace. Jeśli dodatek jest określony jako dodatek, cała karta jest usuwana i nic nie jest wyświetlane w kliencie.
Wartości w polu enum | |
---|---|
INTERACTION_UNSPECIFIED
|
Wartość domyślna. action działa normalnie.
|
OPEN_DIALOG
|
Otwiera okno – interfejs użytkownika w postaci okna, który umożliwia aplikacjom Google Chat interakcję z użytkownikami. Obsługiwane tylko przez aplikacje do obsługi czatu w odpowiedzi na kliknięcie przycisku na karcie. Nieobsługiwane przez dodatki do Google Workspace. Jeśli dodatek jest określony jako dodatek, cała karta jest usuwana i nic nie jest wyświetlane w kliencie. |