gpt4 book ai didi

google-apps-script - 将数据源动态绑定(bind)到应用程序制造商弹出窗口

转载 作者:行者123 更新时间:2023-12-02 08:04:29 25 4
gpt4 key购买 nike

我需要弹出一个通用的“删除确认”,并使用在弹出窗口出现之前触发的事件将数据源动态绑定(bind)到弹出窗口。

点击“位置”页面上的删除图标将出现弹出窗口(如下图所示)。我需要同时设置弹窗的数据源。 (当用户单击此删除图标时)并且当用户单击弹出窗口中的“删除”按钮时必须删除记录。

enter image description here

这是我目前针对上面删除图标的onclick事件的代码

app.popups.ItemDeleteConfirmationDialog.descendants.Content.datasource = widget.datasource;
app.popups.ItemDeleteConfirmationDialog.descendants.ConfirmButton.datasource = widget.datasource;
app.popups.ItemDeleteConfirmationDialog.visible=true;

这就是弹出窗口的 onClick 按钮

widget.datasource.deleteItem();

请帮我解决这个问题。谢谢。

最佳答案

Google App Maker 团队的成员提出了以下建议:

在您的确认弹出窗口中设置动态类型的自定义属性。出于本示例的目的,调用属性 CallbackFn。

对于弹出窗口中 ConfirmButton 的 onClick 事件,设置以下客户端脚本:

if (typeof widget.root.properties.CallbackFn === 'function') {
widget.root.properties.CallbackFn();
}
widget.root.visible = false;

对于数据源表中的删除按钮,设置以下客户端脚本:

deleteItem(widget.datasource);

在您的脚本部分添加客户端脚本或在现有客户端脚本下插入以下函数:

function deleteItem(datasource) {
var popup = app.popups.ItemDeleteConfirmationDialog;

popup.properties.CallbackFn = function() {
datasource.deleteItem();
};

popup.visible = true;
}

由于表格中的删除按钮位于表格行内,因此您可能需要更改传递给 deleteItem() 函数的函数变量,如下所示:

deleteItem(widget.parent.parent.datasource);

如果这不起作用,请告诉我。我在我自己的应用程序中使用更复杂的逻辑进行了设置,并且在某些情况下我将多个变量传递给我的 deleteItem() 函数并且效果很好。

关于google-apps-script - 将数据源动态绑定(bind)到应用程序制造商弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53115362/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com