From 117d7fb65917c0aca676c21e853ebe799f3a42ac Mon Sep 17 00:00:00 2001 From: chenzeyu Date: Tue, 21 May 2024 19:28:33 +0800 Subject: [PATCH] =?UTF-8?q?BI-148724=20fix:=20=E6=A0=91=E6=8E=A7=E4=BB=B6?= =?UTF-8?q?=E6=9F=A5=E7=9C=8B=E5=B7=B2=E9=80=89=E9=A1=B9=E8=BF=9E=E5=8F=91?= =?UTF-8?q?=E4=B8=A4=E6=AC=A1=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../multiselect/trigger/switcher.checkselected.js | 2 ++ .../src/widget/multitree/multi.tree.combo.js | 15 ++++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js b/packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js index 4d5bab1da..2c854fb31 100644 --- a/packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js +++ b/packages/fineui/src/widget/multiselect/trigger/switcher.checkselected.js @@ -10,6 +10,7 @@ export class MultiSelectCheckSelectedSwitcher extends Widget { static EVENT_TRIGGER_CHANGE = "EVENT_TRIGGER_CHANGE"; static EVENT_BEFORE_POPUPVIEW = "EVENT_BEFORE_POPUPVIEW"; static EVENT_AFTER_HIDEVIEW = "EVENT_AFTER_HIDEVIEW"; + static EVENT_TRIGGER_COMBO = "EVENT_TRIGGER_COMBO"; _defaultConfig() { return extend(super._defaultConfig(...arguments), { @@ -48,6 +49,7 @@ export class MultiSelectCheckSelectedSwitcher extends Widget { itemsCreator: o.itemsCreator, onClickContinueSelect() { self.switcher.hideView(); + self.fireEvent(MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_COMBO); }, ref(_ref) { self.checkPane = _ref; diff --git a/packages/fineui/src/widget/multitree/multi.tree.combo.js b/packages/fineui/src/widget/multitree/multi.tree.combo.js index 7d61b6e9d..435db661e 100644 --- a/packages/fineui/src/widget/multitree/multi.tree.combo.js +++ b/packages/fineui/src/widget/multitree/multi.tree.combo.js @@ -182,6 +182,7 @@ export class MultiTreeCombo extends Single { return self.combo.isViewVisible(); } + let shouldComboPopulate = true; this.trigger.on(MultiSelectTrigger.EVENT_FOCUS, () => { self.fireEvent(MultiTreeCombo.EVENT_FOCUS); }); @@ -259,14 +260,14 @@ export class MultiTreeCombo extends Single { } self.combo.setValue(self.storeValue); self.numberCounter.setValue(self.storeValue); - self.populate(); + shouldComboPopulate && self.populate(); self.fireEvent(MultiTreeCombo.EVENT_BEFORE_POPUPVIEW); }); this.combo.on(Combo.EVENT_BEFORE_HIDEVIEW, () => { if (isSearching()) { self._stopEditing(); self._dataChange && - self.fireEvent(MultiTreeCombo.EVENT_CONFIRM); + self.fireEvent(MultiTreeCombo.EVENT_CONFIRM); } else { if (isPopupView()) { self._stopEditing(); @@ -275,7 +276,7 @@ export class MultiTreeCombo extends Single { self.storeValue = { value: {} }; } self._dataChange && - self.fireEvent(MultiTreeCombo.EVENT_CONFIRM); + self.fireEvent(MultiTreeCombo.EVENT_CONFIRM); } } clear = false; @@ -316,10 +317,18 @@ export class MultiTreeCombo extends Single { valueFormatter: o.valueFormatter, value: { value: o.value || {} }, }); + this.numberCounter.on( + MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_COMBO, + () => { + self.populate(); + shouldComboPopulate = true; + } + ); this.numberCounter.on( MultiSelectCheckSelectedSwitcher.EVENT_TRIGGER_CHANGE, () => { if (!self.combo.isViewVisible()) { + shouldComboPopulate = false; self.combo.showView(); } }