Browse Source

DEC-11654 fix: IE11多层级单选下拉树展开后滚动卡

es6
windy 5 years ago
parent
commit
e7d776680b
  1. 1
      changelog.md
  2. 10
      src/widget/multilayerselecttree/multilayerselecttree.combo.js
  3. 6
      src/widget/multilayerselecttree/multilayerselecttree.trigger.js
  4. 9
      src/widget/multilayersingletree/multilayersingletree.combo.js
  5. 6
      src/widget/multilayersingletree/multilayersingletree.trigger.js

1
changelog.md

@ -1,5 +1,6 @@
# 更新日志 # 更新日志
2.0(2019-12) 2.0(2019-12)
- 修复多层级单选下拉树主动设置container后搜索面板弹出问题
- bi.search_editor支持搜索中间含有空格的字符串 - bi.search_editor支持搜索中间含有空格的字符串
- 修复了监听日期下拉框before_popup_view事件,调用setMinDate无效的问题 - 修复了监听日期下拉框before_popup_view事件,调用setMinDate无效的问题
- 修复了数值滑块逆向排列滑块后populate显示效果不对的问题 - 修复了数值滑块逆向排列滑块后populate显示效果不对的问题

10
src/widget/multilayerselecttree/multilayerselecttree.combo.js

@ -64,6 +64,7 @@ BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, {
return { return {
type: "bi.combo", type: "bi.combo",
container: o.container, container: o.container,
destroyWhenHide: o.destroyWhenHide,
adjustLength: 2, adjustLength: 2,
ref: function (_ref) { ref: function (_ref) {
self.combo = _ref; self.combo = _ref;
@ -104,6 +105,7 @@ BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, {
return { return {
el: { el: {
type: "bi.multilayer_select_tree_trigger", type: "bi.multilayer_select_tree_trigger",
container: o.container,
allowInsertValue: o.allowInsertValue, allowInsertValue: o.allowInsertValue,
allowSearchValue: o.allowSearchValue, allowSearchValue: o.allowSearchValue,
allowEdit: o.allowEdit, allowEdit: o.allowEdit,
@ -152,8 +154,14 @@ BI.MultiLayerSelectTreeCombo = BI.inherit(BI.Widget, {
} }
}] }]
}, },
toggle: !o.allowEdit,
hideChecker: function (e) { hideChecker: function (e) {
return self.triggerBtn.element.find(e.target).length === 0; // 新增传配置container后对应hideChecker的修改
// IE11下,popover(position: fixed)下放置下拉控件(position: fixed), 滚动的时候会异常卡顿
// 通过container参数将popup放置于popover之外解决此问题, 其他下拉控件由于元素少或者有分页,所以
// 卡顿不明显, 先在此做尝试, 并在FineUI特殊处理待解决文档中标记跟踪
return (o.container && self.trigger.getSearcher().getView().element.find(e.target).length > 0) ? false : self.triggerBtn.element.find(e.target).length === 0;
}, },
listeners: [{ listeners: [{
eventName: BI.Combo.EVENT_AFTER_HIDEVIEW, eventName: BI.Combo.EVENT_AFTER_HIDEVIEW,

6
src/widget/multilayerselecttree/multilayerselecttree.trigger.js

@ -30,6 +30,12 @@ BI.MultiLayerSelectTreeTrigger = BI.inherit(BI.Trigger, {
ref: function () { ref: function () {
self.searcher = this; self.searcher = this;
}, },
masker: BI.isNotNull(o.container) ? {
offset: {},
container: o.container
} : {
offset: {}
},
isAutoSearch: false, isAutoSearch: false,
el: { el: {
type: "bi.state_editor", type: "bi.state_editor",

9
src/widget/multilayersingletree/multilayersingletree.combo.js

@ -67,6 +67,7 @@ BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, {
return { return {
type: "bi.combo", type: "bi.combo",
container: o.container, container: o.container,
destroyWhenHide: o.destroyWhenHide,
adjustLength: 2, adjustLength: 2,
ref: function (_ref) { ref: function (_ref) {
self.combo = _ref; self.combo = _ref;
@ -107,6 +108,7 @@ BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, {
return { return {
el: { el: {
type: "bi.multilayer_single_tree_trigger", type: "bi.multilayer_single_tree_trigger",
container: o.container,
allowInsertValue: o.allowInsertValue, allowInsertValue: o.allowInsertValue,
allowSearchValue: o.allowSearchValue, allowSearchValue: o.allowSearchValue,
allowEdit: o.allowEdit, allowEdit: o.allowEdit,
@ -155,8 +157,13 @@ BI.MultiLayerSingleTreeCombo = BI.inherit(BI.Widget, {
} }
}] }]
}, },
toggle: !o.allowEdit,
hideChecker: function (e) { hideChecker: function (e) {
return self.triggerBtn.element.find(e.target).length === 0; // 新增传配置container后对应hideChecker的修改
// IE11下,popover(position: fixed)下放置下拉控件(position: fixed), 滚动的时候会异常卡顿
// 通过container参数将popup放置于popover之外解决此问题, 其他下拉控件由于元素少或者有分页,所以
// 卡顿不明显, 先在此做尝试, 并在FineUI特殊处理待解决文档中标记跟踪
return (o.container && self.trigger.getSearcher().getView().element.find(e.target).length > 0) ? false : self.triggerBtn.element.find(e.target).length === 0
}, },
listeners: [{ listeners: [{
eventName: BI.Combo.EVENT_AFTER_HIDEVIEW, eventName: BI.Combo.EVENT_AFTER_HIDEVIEW,

6
src/widget/multilayersingletree/multilayersingletree.trigger.js

@ -30,6 +30,12 @@ BI.MultiLayerSingleTreeTrigger = BI.inherit(BI.Trigger, {
ref: function () { ref: function () {
self.searcher = this; self.searcher = this;
}, },
masker: BI.isNotNull(o.container) ? {
offset: {},
container: o.container
} : {
offset: {}
},
isAutoSearch: false, isAutoSearch: false,
el: { el: {
type: "bi.state_editor", type: "bi.state_editor",

Loading…
Cancel
Save