Browse Source

BI-67348 【体验】点击文本和点击复选框表现不总是一致

es6
windy 4 years ago
parent
commit
f19b3c164c
  1. 1
      changelog.md
  2. 2
      src/base/tree/ztree/asynctree.js
  3. 3
      src/base/tree/ztree/treeview.js

1
changelog.md

@ -1,5 +1,6 @@
# 更新日志 # 更新日志
2.0(2020-06) 2.0(2020-06)
- 修复了复选下拉树半选节点的子节点未加载的时候,点选该半选节点是取消选中的问题
- 下拉树系列支持isNeedAdjustWidth以动态变化宽度 - 下拉树系列支持isNeedAdjustWidth以动态变化宽度
- 修复了新增值的下拉控件传递valueFormatter搜索完全匹配项提示新增 - 修复了新增值的下拉控件传递valueFormatter搜索完全匹配项提示新增
- 修复了选色控件历史记录没有选中的问题的问题 - 修复了选色控件历史记录没有选中的问题的问题

2
src/base/tree/ztree/asynctree.js

@ -68,6 +68,7 @@ BI.AsyncTree = BI.inherit(BI.TreeView, {
} }
function beforeCheck (treeId, treeNode) { function beforeCheck (treeId, treeNode) {
var status = treeNode.getCheckStatus();
treeNode.halfCheck = false; treeNode.halfCheck = false;
if (treeNode.checked === true) { if (treeNode.checked === true) {
// 将展开的节点halfCheck设为false,解决展开节点存在halfCheck=true的情况 guy // 将展开的节点halfCheck设为false,解决展开节点存在halfCheck=true的情况 guy
@ -87,7 +88,6 @@ BI.AsyncTree = BI.inherit(BI.TreeView, {
node.halfCheck = false; node.halfCheck = false;
}); });
} }
var status = treeNode.getCheckStatus();
// 当前点击节点的状态是半选,且为true_part, 则将其改为false_part,使得点击半选后切换到的是全选 // 当前点击节点的状态是半选,且为true_part, 则将其改为false_part,使得点击半选后切换到的是全选
if (status.half === true && status.checked === true) { if (status.half === true && status.checked === true) {
treeNode.checked = false; treeNode.checked = false;

3
src/base/tree/ztree/treeview.js

@ -181,6 +181,8 @@ BI.TreeView = BI.inherit(BI.Pane, {
} }
function beforeCheck (treeId, treeNode) { function beforeCheck (treeId, treeNode) {
// 下面主动修改了node的halfCheck属性, 节点属性的判断依赖halfCheck,改之前就获取一下
var status = treeNode.getCheckStatus();
treeNode.halfCheck = false; treeNode.halfCheck = false;
if (treeNode.checked === true) { if (treeNode.checked === true) {
// 将展开的节点halfCheck设为false,解决展开节点存在halfCheck=true的情况 guy // 将展开的节点halfCheck设为false,解决展开节点存在halfCheck=true的情况 guy
@ -201,7 +203,6 @@ BI.TreeView = BI.inherit(BI.Pane, {
node.halfCheck = false; node.halfCheck = false;
}); });
} }
var status = treeNode.getCheckStatus();
// 当前点击节点的状态是半选,且为true_part, 则将其改为false_part,使得点击半选后切换到的是全选 // 当前点击节点的状态是半选,且为true_part, 则将其改为false_part,使得点击半选后切换到的是全选
if(status.half === true && status.checked === true) { if(status.half === true && status.checked === true) {
treeNode.checked = false; treeNode.checked = false;

Loading…
Cancel
Save