作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这似乎很基本,但我似乎无法弄清楚如何手动设置当前项目以从数据源中使用?
举例说明:我有一个表,我注意到当我选择一行来编辑字段时,该行的项目成为当前项目,所以如果我在该行上有一个导航到页面的链接,所选项目的行将是导航页面的 datasource.item。
但是,我还注意到,如果我只是将鼠标悬停在一行上,而不选择编辑字段,然后单击链接以导航到页面,它会加载之前选择/编辑的任何行的数据。因此,我想知道如何做到这一点,以便仅在鼠标上:over(或单击快捷方式而无需事先单击行中的另一个字段) datasource.item 将更新为鼠标经过的行要求首先编辑行上的字段。我希望这是有道理的。
非常感谢您的帮助。谢谢!
最佳答案
为什么会这样:
AM code: generate button click event
User code: handle button's click event
User code: navigate user to different page
AM code: destroy DOM of current page
AM code: build DOM for new page
-- dead code after this line
AM code: row click event handler
AM code: change datasource's current item
行的点击事件处理程序永远无法控制,因为行被用户的代码破坏了。
什么Morfinismo的解决方案呢?
AM code: generate button click event
User code: handle button's click event
AM code: row click event handler
AM code: change datasource's current item
-- moved lines
User code: navigate user to different page
AM code: destroy DOM of current page
AM code: build DOM for new page
这里有更多技术细节:Event Loop
在应用制作工具中这个问题可以解决
// button's onClick event handler
app.datasource.ListDatasource.selectKey(widget.datasource.item._key);
// button's onClick event handler
app.pages.ShowMeNext.properties.Key = widget.datasource.item._key;
app.showPage(app.pages.ShowMeNext);
// next page's onAttach event handler
app.datasources.RecordDatasource.filters._key._equals = app.currentPage.properties.Key;
app.datasources.RecordDatasource.load();
// button's onClick event handler
var params = {
key: widget.datasource.item._key
};
var page = app.pages.ShowMeNext;
app.showPage(page);
google.script.history.replace(null, params, page.name);
// next page's onAttach event handler
google.script.url.getLocation(function(location) {
app.datasources.RecordDatasource.filters._key._equals = location.parameters.key;
});
// button's onClick event handler
window.key = widget.datasource.item._key;
// next page's onAttach event handler
app.datasources.RecordDatasource.filters._key._equals = window.key;
ListDatasource - 列表/网格/表格数据源
RecordDatasource - 专用于特定记录的数据源(单记录数据源)
关于google-app-maker - 如何在 App Maker 数据源中设置当前项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50104914/
我是一名优秀的程序员,十分优秀!