Class TextInput

文字輸入

可接受文字輸入的輸入欄位小工具。

支援表單提交驗證。如果 Action.setAllWidgetsAreRequired(allWidgetsAreRequired) 設為 true,或透過 Action.addRequiredWidget(requiredWidget) 指定這個小工具,系統會封鎖提交動作,除非輸入值。

適用於 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設定在發生 UI 互動時產生的事件物件中,用於識別這個文字輸入內容的鍵。
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為這個小工具設定驗證規則。
setValue(value)TextInput設定要在輸入欄位中設定的預填值。

內容詳盡的說明文件

setFieldName(fieldName)

設定在發生 UI 互動時產生的事件物件中,用於識別這個文字輸入內容的鍵。使用者不會看到這項資訊。必要欄位,不得重複。

參數

名稱類型說明
fieldNameString用來識別這個輸入內容的金鑰。

回攻員

TextInput - 這個物件,用於鏈結。


setHint(hint)

設定文字輸入的提示。用於為使用者提供額外的輸入指引。舉例來說,提示可以說明電話號碼欄位的格式 (「xxx-xxx-xxxx」)。

參數

名稱類型說明
hintString顯示在輸入欄位下方的文字提示。這段文字會一直顯示。

回攻員

TextInput - 這個物件,用於鏈結。


setHostAppDataSource(hostAppDataSource)

設定 Google Workspace 應用程式的資料來源。目前支援使用者和 Chat 空間。

僅適用於 Gemini Alpha 版計畫,可透過 Google Workspace 外掛程式擴充 Google Workspace Flows。

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)

為這個小工具設定驗證規則。

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 小工具的驗證規則。

回攻員

TextInput - 這個物件,用於鏈結。


setValue(value)

設定要在輸入欄位中設定的預填值。

參數

名稱類型說明
valueString輸入欄位中的預設值。在表單回呼參數中,一律以字串表示。

回攻員

TextInput - 這個物件,用於鏈結。