更改 dojox CheckedMultiSelect 控件默认标签样式

change dojox CheckedMultiSelect control default label style

我有 dojox/form/CheckedMultiSelect 控制权。当我从下拉列表中检查一些项目时,标签更改为“2 个已选择的项目”。如何将其自定义为“2 State(s) Selected”之类的内容。

var stateCheckedMultiSelect = new CheckedMultiSelect ({
    id: 'stateChkMultiSelect',
    dropDown: true,
    multiple: true,
    onChange: lang.hitch(this, function(result){
        stateChecked = result; 
    })
});

stateCheckedMultiSelect.set('style', {width: '100%', height: '30px', fontSize: '14px'});
stateCheckedMultiSelect.addOption({'label': 'Texas', 'value': 'TX'});
stateCheckedMultiSelect.addOption({'label': 'New York', 'value': 'NY'});
stateCheckedMultiSelect.startup();

我能够通过以下代码实现我的目的。不确定是否有更好的方法。如果是这样,请指教。

var StateCheckedMultiSelect = declare(CheckedMultiSelect, {
      startup: function() {
          this.inherited(arguments);  
          setTimeout(lang.hitch(this, function() {
              this.dropDownButton.set("label", this.label);          
          }));
      },

      _updateSelection: function() {
          this.inherited(arguments);   
          if(this.dropDown && this.dropDownButton){
              var labels = [];
              array.forEach(this.options, function(option){
                  if(option.selected){
                      labels.push(option.label);
                  }
              });

              this.dropDownButton.set("label", labels.length + 'state(s) selected');
          }
      }
});