0

我有一些页面应该有复选框的动态计数,并且输入取决于从数据库接收到的数据

现在我喜欢这样:

  1. 对组件加载进行 rpc 调用(获取输入数据)
  2. onSuccess在表单上动态添加输入

结果:表单显示没有内容(因为它使调用异步),只有在调整大小后,它才能正确显示内容(可能我可以触发resize事件或redraw用我自己,不知道如何......)

问题:我是 GWT 的新手,完成这项任务的最佳方法是什么?(现在我正在使用 gwt-ext http://gwt-ext.com/,但我认为没关系)

更新:刷新面板可以调用doLayout()

4

2 回答 2

2

我对 gwt-ext 不熟悉,但在“香草”gwt 中,您有两种选择:

  1. onSuccess在方法中刷新您的小部件(应该显示结果)
  2. 在返回结果之前继续执行其余代码。

为了更精确,我需要更多的代码。

于 2013-05-14T13:41:03.220 回答
1

我遇到了类似的挑战,我的小部件的内容加载了几秒钟。在加载小部件之前,我会显示“正在加载,请稍候...”标签:

final VerticalPanel mainPanel = new VerticalPanel();

    initWidget(mainPanel); 
    mainPanel.add(new Label("Loading, please wait ..."));
    mainPanel.add(new myCustomWidget()); // this constructor uses RPC to get content

    Timer t = new Timer()
    {
        public void run()
        {
            if (!mainPanel.getWidget(1).isVisible()) { 
                // do nothing
            } else {
                // remove label "Loading, please wait ..."
                mainPanel.remove(0);
                // stop timer
                cancel(); 
            }
        }
    };
    // repeat every 30 miliseconds until myCustomWidget is visible
    t.scheduleRepeating(30); 
于 2014-10-10T08:58:19.273 回答