hixon 发表于 2022-7-18 15:46:06

如何解决表格控件更新条目特别慢?

本帖最后由 hixon 于 2022-7-18 15:48 编辑

有用户反馈表格控件使用setItem方法更新多行数据时特别慢,模拟的时候有一个警告弹窗(构建模式为debug才有此弹窗),如下:


我们来看一下用户的测试工程,主界面有一个表格控件,属性设置的“行数”为240,“列数”为5,"写列"按钮的动作脚本用 for循环来更新240行数据。



ui.main.textButton.onRelease = function() {
    for(var i=0; i<240; i++) {
      ui.main.table.setItem(i, 0, "text"+i);
    }
};

模拟运行的话,确实会存在耗时特别长。

下面我们看一下如何来避免耗时长的问题,其实只是个work-around,但是确实有效果。
在for循环之前先隐藏表格控件,在循环结束之后再显示表格控件:


ui.main.textButton.onRelease = function() {
    ui.main.table.visible = false;
    for(var i=0; i<240; i++) {
      ui.main.table.setItem(i, 0, "text"+i);
    }
    ui.main.table.visible = true;
};
再次模拟运行,没有超时提示框了


页: [1]
查看完整版本: 如何解决表格控件更新条目特别慢?