diff --git a/packages/fineui/src/widget/multiselect/multiselect.insert.combo.js b/packages/fineui/src/widget/multiselect/multiselect.insert.combo.js index 9a047fbd0..528bba62e 100644 --- a/packages/fineui/src/widget/multiselect/multiselect.insert.combo.js +++ b/packages/fineui/src/widget/multiselect/multiselect.insert.combo.js @@ -31,7 +31,8 @@ import { pushDistinct, Selection, SIZE_CONSANTS, - BlankSplitChar + BlankSplitChar, + size, } from "@/core"; import { Single, Combo, Msg } from "@/base"; import { MultiSelectBar, TriggerIconButton } from "@/case"; @@ -215,7 +216,19 @@ export class MultiSelectInsertCombo extends Single { }, } ], - itemsCreator: o.itemsCreator, + itemsCreator: (op, callback) => { + o.itemsCreator(op, ob => { + callback(ob); + // 全选时数据变化,配置需要同步 + if (this.storeValue.type === Selection.All && size(ob.items) !== size(this.storeValue.assist)) { + this._dataChange = true; + this.storeValue.assist = map(ob.items, 'value'); + this._adjust(() => { + assertShowValue(); + }); + } + }); + }, valueFormatter: o.valueFormatter, itemFormatter: o.itemFormatter, itemHeight: o.itemHeight,