ElemeFE / ElemeFE/element

[Bug Report] el-tree的勾选框在禁选和不禁选时表现不一致

Open
#22,920 10 comments 0 reactions 0 assignees View on GitHub
Dominant language
Vue
Stars
54k
Forks
14.4k
PR merge metrics
No merged PRs in 30d

Description

### Element UI version
2.15.14

### OS/Browsers version
window/chrome

### Vue version
2.7.16

### Reproduction Link
https://codepen.io/aique127/pen/OJePKxd

### Steps to reproduce
当default-checked-keys属性含有某个父节点和其部分子节点的key时,checkbox会发生如下不一致的情况:

1、当disabled属性为true时,父节点的checkbox是半选状态,子节点包含在default-checked-keys中的是全选状态、不包含在内的是未选状态。
![捕获1](https://github.com/ElemeFE/element/assets/43040641/f5de3e85-89f6-40a3-8d37-7beb3c921f29)

2、当disabled属性为false时,父节点的checkbox是全选状态,子节点全部都是全选状态。
![捕获2](https://github.com/ElemeFE/element/assets/43040641/58994e0d-2dd3-4d81-b246-7363c3ab11de)

这种情况在实际业务中很让人疑惑甚至出现bug,比如我本来父节点和子节点都是全选的,我新增一个未选的子节点后父节点应该变成半选状态才对,但实际上父节点和新增的子节点都变成了全选。

### What is Expected?
上述第1 种。

### What is actually happening?
根据disabled属性的不同有不同的勾选状态。

看setChecked方法的源码,是因为受到了passValue参数影响,能否将这个属性去掉呢?

![image](https://github.com/ElemeFE/element/assets/43040641/f706360b-4da7-49eb-be64-9bc71a2cd922)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.