Class SelectionInput

SelectionInput

允許在一組預先定義的選項之間選擇的輸入欄位。

適用於 Google Workspace 外掛程式和 Google Chat 應用程式。

var 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"));

var 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);

方法

方法傳回類型簡短說明
addItem(text, value, selected)SelectionInput新增可選取的項目。
addMultiSelectItem(text, value, selected, startIconUri, bottomText)SelectionInput新增可用於多選選單的新項目。
setExternalDataSource(action)SelectionInput設定外部資料來源,例如關聯資料基礎。
setFieldName(fieldName)SelectionInput設定鍵,用於在有 UI 互動時產生的事件物件中識別此選擇輸入。
setMultiSelectMaxSelectedItems(maxSelectedItems)SelectionInput設定使用者可選取的項目數量上限。
setMultiSelectMinQueryLength(queryLength)SelectionInput設定使用者在應用程式查詢前輸入的文字字元數量,並在資訊卡中顯示建議項目。
setOnChangeAction(action)SelectionInput設定要在每次選取輸入變更時執行的 Action
setPlatformDataSource(platformDataSource)SelectionInput設定 Google Workspace 的資料來源。
setTitle(title)SelectionInput設定要在輸入欄位前面顯示的標題。
setType(type)SelectionInput設定這個輸入內容的類型。

內容詳盡的說明文件

addItem(text, value, selected)

新增可選取的項目。

參數

名稱類型說明
textObject這個項目要顯示的文字。非字串原始引數會自動轉換為字串。
valueObject透過回呼傳送的表單輸入值。非字串原始引數會自動轉換為字串。
selectedBoolean該項目是否預設為選取狀態。如果選項輸入只接受一個值 (例如圓形按鈕或下拉式選單),請只針對一個項目設定此欄位。

回攻員

SelectionInput:這個物件用於鏈結。


addMultiSelectItem(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");

參數

名稱類型說明
textObject這個項目要顯示的文字。非字串原始引數會自動轉換為字串。
valueObject透過回呼傳送的表單輸入值。非字串原始引數會自動轉換為字串。
selectedBoolean該項目是否預設為選取狀態。如果選項輸入只接受一個值 (例如圓形按鈕或下拉式選單),請只針對一個項目設定此欄位。
startIconUriObject如果是複選選單,該項目的文字欄位旁邊會顯示圖示的網址。支援 PNG 和 JPEG 檔案。
bottomTextObject複選選單會顯示在項目文字欄位下方的文字說明或標籤。

回攻員

SelectionInput:這個物件用於鏈結。


setExternalDataSource(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"));

參數

名稱類型說明
actionAction外部資料來源。

回攻員

SelectionInput:這個物件用於鏈結。


setFieldName(fieldName)

設定鍵,用於在有 UI 互動時產生的事件物件中識別此選擇輸入。使用者不會看到這項內容。必要項目不得重複。

參數

名稱類型說明
fieldNameString要指派給這項輸入內容的名稱。

回攻員

SelectionInput:這個物件用於鏈結。


setMultiSelectMaxSelectedItems(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");

參數

名稱類型說明
maxSelectedItemsInteger項目數量上限。

回攻員

SelectionInput:這個物件用於鏈結。


setMultiSelectMinQueryLength(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");

參數

名稱類型說明
queryLengthInteger文字字元數。

回攻員

SelectionInput:這個物件用於鏈結。


setOnChangeAction(action)

設定要在每次選取輸入變更時執行的 Action

參數

名稱類型說明
actionAction要採取的動作。

回攻員

SelectionInput:這個物件用於鏈結。


setPlatformDataSource(platformDataSource)

設定 Google Workspace 的資料來源。用於在複選選單中填入項目。

const multiSelect = CardService.newSelectionInput()
    .setType(CardService.SelectionInputType.MULTI_SELECT)
    .setFieldName("contacts")
    .setTitle("Selected contacts")
    .setPlatformDataSource(
       CardService.newPlatformDataSource()
         .setCommonDataSource(CardService.CommonDataSource.USER));
僅適用於 Google Chat 應用程式。不適用於 Google Workspace 外掛程式。

參數

名稱類型說明
platformDataSourcePlatformDataSource資料來源。

回攻員

SelectionInput:這個物件用於鏈結。


setTitle(title)

設定要在輸入欄位前面顯示的標題。

參數

名稱類型說明
titleString輸入欄位的標題。

回攻員

SelectionInput:這個物件用於鏈結。


setType(type)

設定這個輸入內容的類型。預設值為 CHECKBOX

參數

名稱類型說明
typeSelectionInputType選項類型。

回攻員

SelectionInput:這個物件用於鏈結。