我在 GmailApp 中有一个带有一些小部件的 Card 对象。我想在按下按钮后清除卡。
我怎样才能做到这一点?
您可以通过在按钮操作的回调中更新当前导航中的空卡片来执行此操作。按照下面的代码:
function getCard() {
var cb = CardService.newCardBuilder();
cb.setHeader(CardService.newCardHeader().setTitle("Card Header"));
var section = CardService.newCardSection();
var submitForm = CardService.newAction().setFunctionName('clearCard');
var submitButton = CardService.newTextButton().setText('Clear Card').setOnClickAction(submitForm);
section.addWidget(submitButton);
cb.addSection(section);
return cb.build();
}
function clearCard(e) {
var navigation = CardService.newNavigation().updateCard(emptyCard());
return CardService.newActionResponseBuilder().setNavigation(navigation).build();
}
function getEmptyWidget() {
return CardService.newKeyValue().setContent("");
}
function getEmptySection() {
return CardService.newCardSection().addWidget(getEmptyWidget());
}
function emptyCard() {
var cb = CardService.newCardBuilder();
cb.setHeader(CardService.newCardHeader().setTitle("Card Header"));
cb.addSection(getEmptySection());
return cb.build();
}