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在存在界面互动时生成的事件对象中设置用于标识此选择输入的键。
setMultiSelectMaxSelectedItems(maxSelectedItems)SelectionInput设置用户可以选择的最大项数。
setMultiSelectMinQueryLength(queryLength)SelectionInput设置在 Chat 应用查询自动补全并在卡片上显示建议的项之前,用户输入的文本字符数。
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)

在存在界面互动时生成的事件对象中设置用于标识此选择输入的键。对用户不可见。必填,必须是唯一的。

参数

名称类型说明
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)

设置用户在 Chat 应用查询自动补全功能之前输入的文本字符数,并在卡片上显示建议的项。

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 - 此对象,用于链接。