Class TextInput

文本输入

一个接受文本输入的输入字段 widget。

支持表单提交验证。当 Action.setAllWidgetsAreRequired(allWidgetsAreRequired) 设置为 true 或通过 Action.addRequiredWidget(requiredWidget) 指定此 widget 时,除非输入了值,否则提交操作会被阻止。

适用于 Google Workspace 加载项和 Google Chat 应用。

const textInput = CardService.newTextInput()
                      .setFieldName('text_input_form_input_key')
                      .setTitle('Text input title')
                      .setHint('Text input hint');

方法

方法返回类型简介
setFieldName(fieldName)TextInput设置在发生界面互动时生成的事件对象中用于标识相应文本输入的键。
setHint(hint)TextInput为文本输入设置提示。
setHostAppDataSource(hostAppDataSource)TextInput设置来自 Google Workspace 应用的数据源。
setMultiline(multiline)TextInput设置输入文本是显示在一行还是多行上。
setOnChangeAction(action)TextInput设置在每次文本输入发生变化时执行的操作。
setSuggestions(suggestions)TextInput设置文本字段中自动补全的建议。
setSuggestionsAction(suggestionsAction)TextInput设置回调操作,以根据用户输入的内容获取自动补全建议。
setTitle(title)TextInput设置要显示在输入字段上方的标题。
setValidation(validation)TextInput为此 widget 设置验证规则。
setValue(value)TextInput设置要在输入字段中设置的预填充值。

详细文档

setFieldName(fieldName)

设置在发生界面互动时生成的事件对象中用于标识相应文本输入的键。对用户不可见。必需,必须是唯一的。

参数

名称类型说明
fieldNameString用于标识相应输入的键。

返回

TextInput - 此对象,用于链式调用。


setHint(hint)

为文本输入设置提示。用于为用户提供有关输入内容的额外指导。例如,提示可以描述电话号码字段的格式(“xxx-xxx-xxxx”)。

参数

名称类型说明
hintString要显示在输入字段下方的文本提示。此文本始终可见。

返回

TextInput - 此对象,用于链式调用。


setHostAppDataSource(hostAppDataSource)

设置来自 Google Workspace 应用的数据源。目前支持用户和 Chat 群组。

仅通过 Gemini Alpha 版计划提供,适用于扩展 Google Workspace Flows 的 Google Workspace 加购项。

const workflowDataSource =
    CardService.newWorkflowDataSource().setIncludeVariables(true);

const hostAppDataSource =
    CardService.newHostAppDataSource().setWorkflowDataSource(workflowDataSource);

const textInput = CardService.newTextInput()
                      .setFieldName('text_input_form_input_key')
                      .setTitle('Text input title')
                      .setHint('Text input hint')
                      .setHostAppDataSource(hostAppDataSource);

参数

名称类型说明
hostAppDataSourceHostAppDataSource数据源。

返回

TextInput - 此对象,用于链式调用。


setMultiline(multiline)

设置输入文本是显示在一行还是多行上。

参数

名称类型说明
multilineBoolean多行设置。

返回

TextInput - 此对象,用于链式调用。


setOnChangeAction(action)

设置在每次文本输入发生变化时执行的操作。

参数

名称类型说明
actionAction要执行的操作。

返回

TextInput - 此对象,用于链式调用。


setSuggestions(suggestions)

设置文本字段中自动补全的建议。

参数

名称类型说明
suggestionsSuggestions要使用的建议的集合。

返回

TextInput - 此对象,用于链式调用。


setSuggestionsAction(suggestionsAction)

设置回调操作,以根据用户输入的内容获取自动补全建议。Action 参数必须指定一个返回 SuggestionsResponse 对象的回调函数。

const action = CardService.newAction()
                   .setFunctionName('suggestionCallback')
                   .setParameters({numSuggestions: 3});

CardService.newTextInput()
    .setFieldName('option-field')
    .setTitle('Option Selected')
    .setSuggestionsAction(action);

// ...

function suggestionCallback(e) {
  const suggestions = CardService.newSuggestions();
  const numSuggestions = Number.parseInt(e.parameter.numSuggestions);
  for (let i = 1; i <= numSuggestions; i++) {
    suggestions.addSuggestion(`Suggestion ${i}`);
  }
  return CardService.newSuggestionsResponseBuilder()
      .setSuggestions(suggestions)
      .build();
}

参数

名称类型说明
suggestionsActionAction用于获取相应输入的建议的操作。

返回

TextInput - 此对象,用于链式调用。


setTitle(title)

设置要显示在输入字段上方的标题。必填。

参数

名称类型说明
titleString相应输入的文本标签。

返回

TextInput - 此对象,用于链式调用。


setValidation(validation)

为此 widget 设置验证规则。

const validation = CardService.newValidation().setCharacterLimit('10').setType(
    CardService.InputType.TEXT);

const input = CardService.newTextInput()
                  .setFieldName('text_name_xxx1')
                  .setTitle('Max 10 characters')
                  .setValidation(validation);

参数

名称类型说明
validationValidation相应 TextInput widget 的验证规则。

返回

TextInput - 此对象,用于链式调用。


setValue(value)

设置要在输入字段中设置的预填充值。

参数

名称类型说明
valueString输入框中的默认值。在表单回调参数中,它始终表示为字符串。

返回

TextInput - 此对象,用于链式调用。