Eine Aktion, die Interaktivität innerhalb von UI-Elementen ermöglicht. Die Aktion wird nicht direkt auf dem Client ausgeführt, sondern ruft eine Apps Script-Callback-Funktion mit optionalen Parametern auf.
Verfügbar für Google Workspace-Add-ons und Google Chat-Apps.
var image = CardService.newImage() .setOnClickAction(CardService.newAction() .setFunctionName("handleImageClick") .setParameters({imageSrc: 'carImage'}));
Methoden
Methode | Rückgabetyp | Kurzbeschreibung |
---|---|---|
setFunctionName(functionName) | Action | Legt den Namen der aufzurufenden Callback-Funktion fest. |
setInteraction(interaction) | Action | Legt die Interaktion mit einem Nutzer fest, ist nur beim Öffnen eines Dialogfelds erforderlich. |
setLoadIndicator(loadIndicator) | Action | Legt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird. |
setParameters(parameters) | Action | Ermöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion. |
setPersistValues(persistValues) | Action | Gibt an, ob Formularwerte von den Werten des Clients oder den Werten des Servers bestimmt werden, nachdem die Card des Formulars durch eine Aktionsantwort aktualisiert wurde. |
Detaillierte Dokumentation
setFunctionName(functionName)
Legt den Namen der aufzurufenden Callback-Funktion fest. Erforderlich.
Parameters
Name | Typ | Beschreibung |
---|---|---|
functionName | String | Der Name der Funktion. Sie können Funktionen aus enthaltenen Bibliotheken verwenden, z. B. Library.libFunction1 . |
Return
Action
: Dieses Objekt zur Verkettung.
setInteraction(interaction)
Legt die Interaktion mit einem Nutzer fest, ist nur beim Öffnen eines Dialogfelds erforderlich. Wenn keine Angabe erfolgt, führt die Anwendung wie gewohnt ein Action
aus, z. B. das Öffnen eines Links oder das Ausführen einer Funktion.
Nur für Google Chat-Apps verfügbar. Nicht verfügbar für Google Workspace-Add-ons.
const action = CardService.newAction() .setFunctionName('handleDialog') .setInteraction(CardService.Interaction.OPEN_DIALOG);
Parameters
Name | Typ | Beschreibung |
---|---|---|
interaction | Interaction | Die anzugebende Interaktion. |
Return
Action
: Dieses Objekt zur Verkettung.
setLoadIndicator(loadIndicator)
Legt die Ladeanzeige fest, die angezeigt wird, während die Aktion ausgeführt wird.
Parameters
Name | Typ | Beschreibung |
---|---|---|
loadIndicator | LoadIndicator | Die anzuzeigende Anzeige. |
Return
Action
: Dieses Objekt zur Verkettung.
setParameters(parameters)
Ermöglicht die Übergabe benutzerdefinierter Parameter an die Callback-Funktion. Optional.
Parameters
Name | Typ | Beschreibung |
---|---|---|
parameters | Object | Sowohl Schlüssel als auch Werte müssen Strings sein. |
Return
Action
: Dieses Objekt zur Verkettung.
setPersistValues(persistValues)
Gibt an, ob Formularwerte von den Werten des Clients oder den Werten des Servers bestimmt werden, nachdem die Card
des Formulars durch eine Aktionsantwort aktualisiert wurde. Wenn true
festgelegt ist, bleiben die Werte des Clients nach der Serverantwort erhalten. Wenn false
festgelegt ist, überschreiben die Werte des Servers die Formularwerte. Die Standardeinstellung ist false
.
Durch das Speichern der Clientwerte wird verhindert, dass sich ein Formular unerwartet ändert, nachdem ein Nutzer eine Änderung vorgenommen hat. Beispiel: Ein Nutzer nimmt eine Änderung an TextInput
vor, nachdem ein Formular gesendet wurde, aber bevor der Server antwortet. Wenn die Werte beibehalten werden, bleibt die Änderung, die der Nutzer vorgenommen hat, nach der Aktualisierung von Card
durch die Serverantwort. Andernfalls wird der Formularwert auf den Wert zurückgesetzt, den der Nutzer ursprünglich an das Formular gesendet hat.
Feste Clientwerte können das Script daran hindern, Formularfelder zu löschen oder Formularwerte zu überschreiben. Daher sollten Sie die Persistenz für diese Art von Funktion nicht aktivieren. Ohne Persistenz wird empfohlen, für Ereignisse LoadIndicator.SPINNER
zu verwenden, da dies die UI sperrt und Nutzeränderungen verhindert, bevor der Server antwortet. Alternativ können Sie LoadIndicator.NONE
verwenden und dafür sorgen, dass jedes Element im Formular eine onChange-Aktion hat.
// Creates a button with an action that persists the client's values as the on-click action. const button = CardService.newTextButton() .setText('Create notification') .setOnClickAction( CardService.newAction() .setPersistValues(true) .setFunctionName('functionName'));
Parameters
Name | Typ | Beschreibung |
---|---|---|
persistValues | Boolean | Gibt an, ob Werte beibehalten werden sollen. Die Standardeinstellung ist false . |
Return
Action
: Dieses Objekt zur Verkettung.