如何在 AppMaker 中滚动列表?
How do you scroll a list in AppMaker?
我有一个列表小部件,每页有五行。当用户转到下一页时,我重新加载页面(通过使用新页码在数据源上执行 unload/load)并且工作正常。但是,列表保持滚动到底部。我怎样才能将列表滚动到顶部,这样用户就不必这样做了?
我尝试了在标准 HTML 中工作的方法,但它们在 AppMaker 中不起作用,而且我找不到任何关于如何执行此操作的文档。
感谢任何提示或指点。
您可以通过执行以下操作实现所需的行为:
- 在大纲中,找到 TablePanel 小部件和 select List:TableBody 小部件
2.In 属性 编辑器,滚动到 Events 部分并单击 onDataLoad 事件值.然后点击 自定义操作 。
输入此代码 var elem = widget.getElement(); elem.scrollTop = 0;
使其看起来像这样
确保更改已保存,然后预览您的应用,它应该可以运行。如果您需要其他东西或者它不起作用,请告诉我。
对我来说,Morfinismo 的回答没有用,但下面的答案有效:
在样式编辑器中为列表元素添加 CSS:
.app-pageName-nameOfTheListWidget {
overflow-y: auto;
}
并在属性编辑器中布局设置一个最大高度 .
我知道这是一个旧的 post,但对于未来的访问者,这是对我有用的方法 - 您需要将列表的索引设置为零。 App Maker 确保将最后选择的项目滚动到视图中,并在导航中保持这一点。
您可以通过传入在加载列表后运行的回调函数来执行此操作。对我来说,我从过滤列表的下拉小部件重新加载列表,所以在我添加的 onValueChange 事件中:
// Load datasource
widget.datasource.load(function() {
// Set index to 1 to ensure we scroll to top of list
app.datasources.YOURDATASOURCE.selectIndex(0);
});
我有一个列表小部件,每页有五行。当用户转到下一页时,我重新加载页面(通过使用新页码在数据源上执行 unload/load)并且工作正常。但是,列表保持滚动到底部。我怎样才能将列表滚动到顶部,这样用户就不必这样做了?
我尝试了在标准 HTML 中工作的方法,但它们在 AppMaker 中不起作用,而且我找不到任何关于如何执行此操作的文档。
感谢任何提示或指点。
您可以通过执行以下操作实现所需的行为:
- 在大纲中,找到 TablePanel 小部件和 select List:TableBody 小部件
2.In 属性 编辑器,滚动到 Events 部分并单击 onDataLoad 事件值.然后点击 自定义操作 。
输入此代码
var elem = widget.getElement(); elem.scrollTop = 0;
使其看起来像这样确保更改已保存,然后预览您的应用,它应该可以运行。如果您需要其他东西或者它不起作用,请告诉我。
对我来说,Morfinismo 的回答没有用,但下面的答案有效: 在样式编辑器中为列表元素添加 CSS:
.app-pageName-nameOfTheListWidget {
overflow-y: auto;
}
并在属性编辑器中布局设置一个最大高度 .
我知道这是一个旧的 post,但对于未来的访问者,这是对我有用的方法 - 您需要将列表的索引设置为零。 App Maker 确保将最后选择的项目滚动到视图中,并在导航中保持这一点。
您可以通过传入在加载列表后运行的回调函数来执行此操作。对我来说,我从过滤列表的下拉小部件重新加载列表,所以在我添加的 onValueChange 事件中:
// Load datasource
widget.datasource.load(function() {
// Set index to 1 to ensure we scroll to top of list
app.datasources.YOURDATASOURCE.selectIndex(0);
});