4

我正在使用 CellList 展示示例 ( http://gwt.google.com/samples/Showcase/Showcase.html#!CwCellList )实现具有无限滚动功能的自定义 CellTable 。但是,我在 CellList/Table 中发现了一个在这种情况下不受欢迎的功能:单击项目后更改可见范围会导致 List/Table 自动滚动到所选项目。

您可以尝试上面的展示示例以查看完全相同的行为。当没有选择项目时,无限滚动工作得很好,但是当你单击一个项目然后滚动它时,当范围改变时它总是会跳回到选定的项目。

我还发现只有当焦点仍然在该项目上时才会发生,即如果您选择一个项目然后单击其他地方失去焦点,则不会发生这种情况。

我一直在挖掘 GWT 代码并试图找出如何禁用此功能但没有成功。以前有人处理过这种情况吗?

4

2 回答 2

3

作为一个简单的解决方法,您可以调用focus()某个元素,以从项目中移除焦点(不移除选择)。

在展示示例中ShowMorePagerPanel,添加 eg

scrollable.getElement().focus();

onScroll(ScrollEvent event)方法的开始。

于 2012-08-03T11:55:53.233 回答
0

我遇到了同样的问题,无法得到克里斯的答案来解决它,但以下解决方案对我有用:

在您的onScroll(ScrollEvent event)方法中,添加类似于以下内容的行,假设 yourTable 是扩展 AbstractHasData 的实例

yourTable.setFocus(false);
于 2019-10-15T19:58:32.590 回答