사전 정의된 옵션 중에서 선택할 수 있는 입력 필드입니다.
Selection 및 Selection 메뉴의 양식 제출 유효성 검사만 지원합니다. Action.setAllWidgetsAreRequired(allWidgetsAreRequired)이 true로 설정되거나 이 위젯이 Action.addRequiredWidget(requiredWidget)를 통해 지정된 경우 값을 선택하지 않으면 제출 작업이 차단됩니다.
Google Workspace 부가기능 및 Google Chat 앱에서 사용할 수 있습니다.
const checkboxGroup = CardService.newSelectionInput() .setType(CardService.SelectionInputType.CHECK_BOX) .setTitle('A group of checkboxes. Multiple selections are allowed.') .setFieldName('checkbox_field') .addItem('checkbox one title', 'checkbox_one_value', false) .addItem('checkbox two title', 'checkbox_two_value', true) .addItem('checkbox three title', 'checkbox_three_value', true) .setOnChangeAction( CardService.newAction().setFunctionName('handleCheckboxChange'), ); const radioGroup = CardService.newSelectionInput() .setType(CardService.SelectionInputType.RADIO_BUTTON) .setTitle( 'A group of radio buttons. Only a single selection is allowed.') .setFieldName('checkbox_field') .addItem('radio button one title', 'radio_one_value', true) .addItem('radio button two title', 'radio_two_value', false) .addItem('radio button three title', 'radio_three_value', false); const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', ) .setMultiSelectMaxSelectedItems(3) .setMultiSelectMinQueryLength(1);
메서드
자세한 문서
add Data Source Config(dataSourceConfig)
선택 컨트롤의 데이터 소스 구성을 설정합니다. 이 필드는 데이터 소스를 더 세부적으로 제어할 수 있도록 지원합니다. 이 필드는 선택 사항입니다.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setDataSourceConfig( CardService.newDataSourceConfig().setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ) ) );
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
data | Data | 선택 입력에 적용할 데이터 소스 구성입니다. |
리턴
Selection - 연결을 위한 이 객체
add Event Action(eventAction)
위젯에서 실행할 수 있는 이벤트 작업을 추가합니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
event | Event | 추가할 Event입니다. |
리턴
Widget - 연결을 위한 객체입니다.
add Item(text, value, selected)
선택할 수 있는 새 항목을 추가합니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
text | Object | 이 항목에 표시될 텍스트입니다. 문자열이 아닌 기본 인수도 자동으로 문자열로 변환됩니다. |
value | Object | 콜백을 통해 전송되는 양식 입력 값입니다. 문자열이 아닌 기본 인수들은 자동으로 문자열로 변환됩니다. |
selected | Boolean | 항목이 기본적으로 선택되어 있는지 여부입니다. 선택 입력이 하나의 값만 허용하는 경우 (예: 라디오 버튼 또는 드롭다운 메뉴) 하나의 항목에 대해서만 이 필드를 설정합니다. |
리턴
Selection - 연결을 위한 이 객체
add Multi Select Item(text, value, selected, startIconUri, bottomText)
다중 선택 메뉴에서 선택할 수 있는 새 항목을 추가합니다.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', );
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
text | Object | 이 항목에 표시될 텍스트입니다. 문자열이 아닌 기본 인수도 자동으로 문자열로 변환됩니다. |
value | Object | 콜백을 통해 전송되는 양식 입력 값입니다. 문자열이 아닌 기본 인수들은 자동으로 문자열로 변환됩니다. |
selected | Boolean | 항목이 기본적으로 선택되어 있는지 여부입니다. 선택 입력이 하나의 값만 허용하는 경우 (예: 라디오 버튼 또는 드롭다운 메뉴) 하나의 항목에 대해서만 이 필드를 설정합니다. |
start | Object | 다중 선택 메뉴의 경우 항목의 텍스트 필드 옆에 표시되는 아이콘의 URL입니다. PNG 및 JPEG 파일을 지원합니다. |
bottom | Object | 다중 선택 메뉴의 경우 항목의 텍스트 필드 아래에 표시되는 텍스트 설명 또는 라벨입니다. |
리턴
Selection - 연결을 위한 이 객체
set External Data Source(action)
관계형 데이터베이스와 같은 외부 데이터 소스를 설정합니다.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .setMultiSelectMaxSelectedItems(5) .setMultiSelectMinQueryLength(2) .setExternalDataSource( CardService.newAction().setFunctionName('getContacts'), );
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
action | Action | 외부 데이터 소스입니다. |
리턴
Selection - 연결을 위한 이 객체
set Field Name(fieldName)
UI 상호작용이 있을 때 생성되는 이벤트 객체에서 이 선택 입력값을 식별하는 키를 설정합니다. 사용자에게 표시되지 않습니다. 필수사항이며 고유해야 합니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
field | String | 이 입력에 할당할 이름입니다. |
리턴
Selection - 연결을 위한 이 객체
set Id(id)
변형할 위젯을 식별하는 데 사용되는 할당된 고유 ID를 설정합니다. 위젯 변형은 부가기능에서만 지원됩니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
id | String | 위젯의 ID입니다. 64자(영문 기준)로 제한되며 `[a-zA-Z0-9-]+` 형식입니다. |
리턴
Widget - 연결을 위한 이 객체
set Multi Select Max Selected Items(maxSelectedItems)
사용자가 선택할 수 있는 최대 항목 수를 설정합니다.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .setMultiSelectMaxSelectedItems(3) .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', );
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
max | Integer | 최대 항목 수입니다. |
리턴
Selection - 연결을 위한 이 객체
set Multi Select Min Query Length(queryLength)
앱이 자동 완성 쿼리를 실행하고 카드에 추천 항목을 표시하기 전에 사용자가 입력하는 텍스트 문자 수를 설정합니다.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('multiselect') .setTitle('A multi select input example.') .setMultiSelectMinQueryLength(1) .addMultiSelectItem( 'Contact 1', 'contact-1', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact one description', ) .addMultiSelectItem( 'Contact 2', 'contact-2', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact two description', ) .addMultiSelectItem( 'Contact 3', 'contact-3', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact three description', ) .addMultiSelectItem( 'Contact 4', 'contact-4', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact four description', ) .addMultiSelectItem( 'Contact 5', 'contact-5', false, 'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png', 'Contact five description', );
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
query | Integer | 텍스트 문자의 수입니다. |
리턴
Selection - 연결을 위한 이 객체
set On Change Action(action)
선택 입력이 변경될 때마다 실행할 Action를 설정합니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
action | Action | 수행할 작업입니다. |
리턴
Selection - 연결을 위한 이 객체
set Platform Data Source(platformDataSource)
Google Workspace의 데이터 소스를 설정합니다. 다중 선택 메뉴의 항목을 채우는 데 사용됩니다.
const multiSelect = CardService.newSelectionInput() .setType(CardService.SelectionInputType.MULTI_SELECT) .setFieldName('contacts') .setTitle('Selected contacts') .setPlatformDataSource( CardService.newPlatformDataSource().setCommonDataSource( CardService.CommonDataSource.USER, ), );
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
platform | Platform | 데이터 소스입니다. |
리턴
Selection - 연결을 위한 이 객체
set Title(title)
set Type(type)
이 입력의 유형을 설정합니다. 기본값은 CHECKBOX입니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
type | Selection | 선택 유형입니다. |
리턴
Selection - 연결을 위한 이 객체
set Visibility(visibility)
위젯의 공개 상태를 설정합니다. 기본값은 `VISIBLE`입니다.
매개변수
| 이름 | 유형 | 설명 |
|---|---|---|
visibility | Visibility | 위젯의 Visibility입니다. |
리턴
Widget - 연결을 위한 객체입니다.