我在让 setScrollTop 在 GWT 中工作时遇到问题。基本上,我正在尝试在构建视图之后立即设置自定义滚动位置(以专注于特定的所需元素)。它似乎不起作用,因为我没有在正确的时间设置它(并且 UI 可能仍在渲染/构建中,等等)。
设置如下。
我有一个小部件,其启动方法如下所示:
public void start(AcceptsOneWidget widget, EventBus eventBus) { widget.setWidget(view);s Runnable onLoadCallback = new Runnable() { public void run() { initView(); } }; VisualizationUtils.loadVisualizationApi(onLoadCallback, LineChart.PACKAGE); }
在 initView 面板中,我动态构建了一个包含一些图表的视图(通过向服务器发出请求,等待答案到来,然后根据服务器的答案呈现 UI)。
在服务器的答案到达之后,在我完成 UI 构建之后,我试图设置滚动位置,如下所示:
view.getContainerPanel().getElement().setScrollTop(2000);
这似乎完全没有任何效果。但是,如果我离开这个视图,稍后再回到它,它确实可以工作(大概是因为它已经被初始化或其他什么?)
问题是:调用 setScrollTop 的正确时间是什么时候?我尝试从相应的视图中覆盖一些方法,但它似乎不起作用。