Google script gmail addon update TextInput value,o

2019-07-14 05:30发布

I have create simple gmail addon using google script,in that i have struggle here,

how to update textinput value on setOnChangeAction Method ,i have checked the document, i couldn't find any methods

The below code i have tried,

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";
}

Thanks in advance

1条回答
Viruses.
2楼-- · 2019-07-14 05:57

How about this work around? I think that there may be other ways. So please think of this as one of several answers. In this sample script, when the value of foo is inputted, the text input is reconstructed using CardBuilder. When you use this script, as a test, please input foo. This is a very simple snippet, so please modify this for your environment.

Sample script :

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()
  }
}

If I misunderstand your question, I'm sorry.

查看更多
登录 后发表回答