輸入欄位,可從一組預先定義的選項中選擇。
僅支援 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 | Selection | 設定選取控制項的資料來源設定。 |
add | Widget | 新增可在小工具上執行的事件動作。 |
add | Selection | 新增可選取的新項目。 |
add | Selection | 為可選取多個項目的選單新增可選取的項目。 |
set | Selection | 設定外部資料來源,例如關聯式資料庫。 |
set | Selection | 設定在發生 UI 互動時產生的事件物件中,用於識別這個選取輸入內容的鍵。 |
set | Widget | 設定指派的專屬 ID,用於識別要變動的小工具。 |
set | Selection | 設定使用者可選取的項目數量上限。 |
set | Selection | 設定使用者輸入的文字字元數,達到這個下限後,應用程式就會查詢自動完成功能,並在資訊卡上顯示建議項目。 |
set | Selection | 設定在選取輸入內容變更時執行的 Action。 |
set | Selection | 設定 Google Workspace 的資料來源。 |
set | Selection | 設定顯示在輸入欄位前的標題。 |
set | Selection | 設定這項輸入內容的類型。 |
set | Widget | 設定小工具的顯示設定。 |
內容詳盡的說明文件
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)
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 | 如果是多選單,則為顯示在項目文字欄位旁的圖示網址。支援 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)
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 - 這個物件,用於鏈結。