WeStudio技术社区

 找回密码
 立即注册

快捷登录

QQ登录

只需一步,快速开始

查看: 124|回复: 0

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

[复制链接]

88

主题

123

帖子

918

积分

版主

Rank: 7Rank: 7Rank: 7

积分
918
发表于 2022-7-18 15:46:06 | 显示全部楼层 |阅读模式
本帖最后由 hixon 于 2022-7-18 15:48 编辑

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

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

table-demo.png write-column.png

  1. ui.main.textButton.onRelease = function() {
  2.     for(var i=0; i<240; i++) {
  3.         ui.main.table.setItem(i, 0, "text"+i);
  4.     }
  5. };
复制代码


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

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

visible-property.png
  1. ui.main.textButton.onRelease = function() {
  2.     ui.main.table.visible = false;
  3.     for(var i=0; i<240; i++) {
  4.         ui.main.table.setItem(i, 0, "text"+i);
  5.     }
  6.     ui.main.table.visible = true;
  7. };
复制代码

再次模拟运行,没有超时提示框了
faster.png

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|物一世(北京)科技有限公司 ( 京ICP备20025895 )

GMT+8, 2022-8-19 18:48 , Processed in 0.087709 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表