我使用google脚本创建了简单的gmail插件,因为我在这里很难,
如何在 setOnChangeAction 方法上更新textinput值,我已经检查了文档,我找不到任何方法
以下代码我试过了,
var client_action = CardService.newAction().setFunctionName('clientId_callBack');
CardService.newTextInput()
.setFieldName("clientId")
.setTitle("Please enter clinet id")
.setOnChangeAction(client_action)
function clientId_callBack(e){
Logger.log("%s",JSON.stringify(e))
e.formInput.clientId = "updatedValue";
}
提前致谢
答案 0 :(得分:0)
这项工作怎么样?我认为可能还有其他方法。因此,请将此视为几个答案之一。在此示例脚本中,当输入foo
的值时,使用CardBuilder重建文本输入。当您使用此脚本作为测试时,请输入foo
。这是一个非常简单的代码段,因此请根据您的环境进行修改。
function buildAddOn() {
var card = CardService.newCardBuilder();
card.setHeader(CardService.newCardHeader().setTitle("Sample"));
var section = CardService.newCardSection();
var action = CardService.newAction().setFunctionName('changeValue');
section.addWidget(CardService.newTextInput().setFieldName("value").setTitle("Input \"foo\" as a value.").setOnChangeAction(action))
return card.addSection(section).build()
}
function changeValue(e) {
if (e.formInput.value == "foo") {
var card = CardService.newCardBuilder();
card.setHeader(CardService.newCardHeader().setTitle("Changed"));
var section = CardService.newCardSection();
var action = CardService.newAction().setFunctionName('getValue1');
section.addWidget(CardService.newTextInput().setFieldName("value").setTitle("Got \"foo\".").setOnChangeAction(action).setValue("bar"))
return card.addSection(section).build()
}
}
如果我误解了你的问题,我很抱歉。