【问题标题】:Add labels to panel dynamically does not refresh panel动态添加标签到面板不会刷新面板
【发布时间】:2015-04-17 08:22:05
【问题描述】:

我有循环:

for (var key in myMap) {
                          if (myMap.hasOwnProperty(key)) {
                              propertiesPanel.add(new Ext.form.Label({
                                  text: key+':'+myMap[key]
                              }));
                              propertiesPanel.doLayout();

                          }
                        }

但是如果我在 hashmap myMap 中有 500 个键,它会将所有标签添加到面板,最后会发生刷新过程。但我想逐渐看到添加过程。我该怎么做?

【问题讨论】:

    标签: javascript extjs extjs4 sencha-touch extjs4.1


    【解决方案1】:

    不要循环,试试递归函数

    addFields(500); //Adding 500 fields
    fieldsAdded = 0
    addFields = function(fieldCount) {
        propertiesPanel.add(new Ext.form.Label({
            text: 'Some text'
        }));
        propertiesPanel.doLayout();
        fieldsAdded++;
        if (fieldsAdded < fieldCount) {
            Ext.Function.defer(function() {
                addFields(fieldCount)
            }, 100, this);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多