diff --git a/src/widget/multilayerselecttree/multilayerselecttree.combo.js b/src/widget/multilayerselecttree/multilayerselecttree.combo.js index ee8dbd9b9..e57419376 100644 --- a/src/widget/multilayerselecttree/multilayerselecttree.combo.js +++ b/src/widget/multilayerselecttree/multilayerselecttree.combo.js @@ -23,6 +23,7 @@ BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, { render: function () { var self = this, o = this.options; + this.storeValue = BI.isArray(o.value) ? o.value[0] : o.value; var combo = (o.itemsCreator === BI.emptyFn) ? this._getSyncConfig() : this._getAsyncConfig(); return (!o.allowEdit && o.itemsCreator === BI.emptyFn) ? combo : { @@ -139,17 +140,23 @@ BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, { action: function () { self.trigger.stopEditing(); } + }, { + eventName: BI.Combo.EVENT_BEFORE_POPUPVIEW, + action: function () { + self.populate(); + } }] }); }, setValue: function (v) { v = BI.isArray(v) ? v : [v]; + this.storeValue = v[0]; this.combo.setValue(v); }, getValue: function () { - return this.combo.getValue(); + return [this.storeValue]; }, populate: function (items) { diff --git a/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js b/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js index ae0ddb11e..2c3b9a0dc 100644 --- a/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js +++ b/src/widget/multilayerselecttree/multilayerselecttree.leveltree.js @@ -9,7 +9,6 @@ BI.MultiLayerSelectLevelTree = BI.inherit(BI.Widget, { return BI.extend(BI.MultiLayerSelectLevelTree.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multilayer-select-level-tree", isDefaultInit: false, - async: false, items: [], itemsCreator: BI.emptyFn, keywordGetter: BI.emptyFn, @@ -98,8 +97,7 @@ BI.MultiLayerSelectLevelTree = BI.inherit(BI.Widget, { el: { type: "bi.loader", - // loader的isDefaultInit为异步加载服务,如果是同步选择不开启 - isDefaultInit: o.async, + isDefaultInit: true, chooseType: o.chooseType, el: { type: "bi.button_tree", diff --git a/src/widget/multilayerselecttree/multilayerselecttree.popup.js b/src/widget/multilayerselecttree/multilayerselecttree.popup.js index cb3807815..b2e904e54 100644 --- a/src/widget/multilayerselecttree/multilayerselecttree.popup.js +++ b/src/widget/multilayerselecttree/multilayerselecttree.popup.js @@ -26,7 +26,6 @@ BI.MultiLayerSelectTreePopup = BI.inherit(BI.Pane, { this.tree = BI.createWidget({ type: "bi.multilayer_select_level_tree", isDefaultInit: o.isDefaultInit, - async: o.itemsCreator !== BI.emptyFn, items: o.items, itemsCreator: function (op, callback) { (op.times === 1 && !op.node) && BI.nextTick(function () { diff --git a/src/widget/multilayersingletree/multilayersingletree.combo.js b/src/widget/multilayersingletree/multilayersingletree.combo.js index c2312cbcb..0e7f51be0 100644 --- a/src/widget/multilayersingletree/multilayersingletree.combo.js +++ b/src/widget/multilayersingletree/multilayersingletree.combo.js @@ -26,6 +26,7 @@ BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, { render: function () { var self = this, o = this.options; + this.storeValue = BI.isArray(o.value) ? o.value[0] : o.value; var combo = (o.itemsCreator === BI.emptyFn) ? this._getSyncConfig() : this._getAsyncConfig(); return (!o.allowEdit && o.itemsCreator === BI.emptyFn) ? combo : { @@ -142,17 +143,23 @@ BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, { action: function () { self.trigger.stopEditing(); } + }, { + eventName: BI.Combo.EVENT_BEFORE_POPUPVIEW, + action: function () { + self.populate(); + } }] }); }, setValue: function (v) { v = BI.isArray(v) ? v : [v]; + this.storeValue = v[0]; this.combo.setValue(v); }, getValue: function () { - return this.combo.getValue(); + return [this.storeValue]; }, populate: function (items) { diff --git a/src/widget/multilayersingletree/multilayersingletree.leveltree.js b/src/widget/multilayersingletree/multilayersingletree.leveltree.js index 378658128..f2d9ff1f4 100644 --- a/src/widget/multilayersingletree/multilayersingletree.leveltree.js +++ b/src/widget/multilayersingletree/multilayersingletree.leveltree.js @@ -9,7 +9,6 @@ BI.MultiLayerSingleLevelTree = BI.inherit(BI.Widget, { return BI.extend(BI.MultiLayerSingleLevelTree.superclass._defaultConfig.apply(this, arguments), { baseCls: "bi-multilayer-single-level-tree", isDefaultInit: false, - async: false, items: [], itemsCreator: BI.emptyFn, keywordGetter: BI.emptyFn, @@ -97,8 +96,7 @@ BI.MultiLayerSingleLevelTree = BI.inherit(BI.Widget, { el: { type: "bi.loader", - // loader的isDefaultInit为异步加载服务,如果是同步选择不开启 - isDefaultInit: o.async, + isDefaultInit: true, chooseType: o.chooseType, el: { type: "bi.button_tree", diff --git a/src/widget/multilayersingletree/multilayersingletree.popup.js b/src/widget/multilayersingletree/multilayersingletree.popup.js index 37a9601b1..7e9aca6f9 100644 --- a/src/widget/multilayersingletree/multilayersingletree.popup.js +++ b/src/widget/multilayersingletree/multilayersingletree.popup.js @@ -25,7 +25,6 @@ BI.MultiLayerSingleTreePopup = BI.inherit(BI.Pane, { this.tree = BI.createWidget({ type: "bi.multilayer_single_level_tree", isDefaultInit: o.isDefaultInit, - async: o.itemsCreator !== BI.emptyFn, items: o.items, itemsCreator: function (op, callback) { (op.times === 1 && !op.node) && BI.nextTick(function () {