Google script gmail addon update значение TextInput, при изменении функции

Я создал простую надстройку Gmail, используя скрипт Google, и здесь у меня проблемы,

как обновить значение textinput в методе setOnChangeAction, я проверил документ, я не смог найти никаких методов

Код ниже, который я пробовал,

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

заранее спасибо


person Robert    schedule 09.02.2018    source источник
comment
Следуйте образцу в Class SelectionInput. Основываясь на образце, вы должны поместить внутрь функцию, которая срабатывает, когда происходит ChangeAction. setOnChangeAction (CardService.newAction () .setFunctionName (handleCheckboxChange));   -  person noogui    schedule 10.02.2018


Ответы (1)


Как насчет этой работы? Думаю, могут быть и другие способы. Поэтому, пожалуйста, подумайте об этом как об одном из нескольких ответов. В этом примере сценария при вводе значения 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()
  }
}

Если я неправильно понял ваш вопрос, извините.

person Tanaike    schedule 11.02.2018