批量设置属性

如下图,页面main上有4个文本按钮(textButton_1, textButton_2, textButton_3, textButton_4),我们想同时修改它们的文字以及文字颜色,我们除了一个接一个控件进行修改,能不能通过for循环的方式批量修改呢?

当然可以,有下面的两种方式来设置:

  1. 使用数组
    ui.main.onLoad = function() {
     // 把控件对象放到一个数组里面
     var buttonArray = [ui.main.textButton_1,ui.main.textButton_2,ui.main.textButton_3,ui.main.textButton_4];
     for (var i=0; i<4; i++) {
         buttonArray[i].text = '测试-' + i; buttonArray[i].textColor = '#ff0000';
     }
    };
    
  2. 使用eval方法 (eval()是JavaScript中的一个全局方法,点击了解详情)
    ui.main.onLoad = function() {
     for(var i=1; i<=4; i++) {
         eval('ui.main.textButton_'+i+'.text = '测试-'+i+'';');
         eval('ui.main.textButton_'+i+'.textColor = '#ff0000';');
     }
    };
    
    模拟运行,效果如下:

results matching ""

    No results matching ""