diff --git a/src/widget/multiselect/multiselect.combo.js b/src/widget/multiselect/multiselect.combo.js index af2f24585..a3afda789 100644 --- a/src/widget/multiselect/multiselect.combo.js +++ b/src/widget/multiselect/multiselect.combo.js @@ -123,7 +123,9 @@ BI.MultiSelectCombo = BI.inherit(BI.Single, { self.fireEvent(BI.MultiSelectCombo.EVENT_CLICK_ITEM); }); this.trigger.on(BI.MultiSelectTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); + // counter的值随点击项的改变而改变, 点击counter的时候不需要setValue(counter会请求刷新计数) + // 只需要更新查看面板的selectedValue用以请求已选数据 + this.getCounter().updateSelectedValue(self.storeValue); }); this.trigger.on(BI.MultiSelectTrigger.EVENT_COUNTER_CLICK, function () { if (!self.combo.isViewVisible()) { diff --git a/src/widget/multiselect/multiselect.insert.combo.js b/src/widget/multiselect/multiselect.insert.combo.js index 1a6671c5b..291e3935a 100644 --- a/src/widget/multiselect/multiselect.insert.combo.js +++ b/src/widget/multiselect/multiselect.insert.combo.js @@ -116,7 +116,9 @@ BI.MultiSelectInsertCombo = BI.inherit(BI.Single, { self.fireEvent(BI.MultiSelectInsertCombo.EVENT_CLICK_ITEM); }); this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); + // counter的值随点击项的改变而改变, 点击counter的时候不需要setValue(counter会请求刷新计数) + // 只需要更新查看面板的selectedValue用以请求已选数据 + this.getCounter().updateSelectedValue(self.storeValue); }); this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_COUNTER_CLICK, function () { if (!self.combo.isViewVisible()) { diff --git a/src/widget/multiselect/multiselect.insert.combo.nobar.js b/src/widget/multiselect/multiselect.insert.combo.nobar.js index f0b61ebb2..dede350d3 100644 --- a/src/widget/multiselect/multiselect.insert.combo.nobar.js +++ b/src/widget/multiselect/multiselect.insert.combo.nobar.js @@ -113,7 +113,9 @@ BI.MultiSelectInsertNoBarCombo = BI.inherit(BI.Single, { } }); this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_BEFORE_COUNTER_POPUPVIEW, function () { - this.getCounter().setValue(self.storeValue); + // counter的值随点击项的改变而改变, 点击counter的时候不需要setValue(counter会请求刷新计数) + // 只需要更新查看面板的selectedValue用以请求已选数据 + this.getCounter().updateSelectedValue(self.storeValue); }); this.trigger.on(BI.MultiSelectInsertTrigger.EVENT_COUNTER_CLICK, function () { if (!self.combo.isViewVisible()) { diff --git a/src/widget/multiselect/trigger/switcher.checkselected.js b/src/widget/multiselect/trigger/switcher.checkselected.js index 4737bd0ac..c9b000ba7 100644 --- a/src/widget/multiselect/trigger/switcher.checkselected.js +++ b/src/widget/multiselect/trigger/switcher.checkselected.js @@ -42,6 +42,9 @@ BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, { onClickContinueSelect: function () { self.switcher.hideView(); }, + ref: function (_ref) { + self.checkPane = _ref; + }, value: o.value }, o.popup), adapter: o.adapter, @@ -82,6 +85,11 @@ BI.MultiSelectCheckSelectedSwitcher = BI.inherit(BI.Widget, { this.switcher.setValue(v); }, + // 与setValue的区别是只更新查看已选面板的的selectedValue, 不会更新按钮的计数 + updateSelectedValue: function (v) { + this.checkPane.setValue(v); + }, + setButtonChecked: function (v) { this.button.setValue(v); },