
elementui el-table 子节点选中后勾选不出打勾,可能是由于版本冲突或半选状态导致的。
原因解析:
- 版本冲突:低版本的 elementui 中存在一个 bug,导致子节点选中后勾选框无法正常显示。
- 半选状态:el-table 支持半选状态,当父节点选中 but 存在子节点未选中时,父节点勾选框会显示为半选状态,而不是打勾。
解决方案:
升级 elementui 版本:将 elementui 版本升级到最新版本(2.15.13 以上),这可以解决版本冲突问题。
处理半选状态:通过自定义 样式,可以修改半选状态的显示:
::v-deep .indeterminate .el-checkbox {
display: block !important;
}
::v-deep .indeterminate .el-checkbox__input .el-checkbox__inner {
background-color: #4a97eb !important;
border-color: #4a97eb !important;
color: #fff !important;
}
::v-deep .indeterminate .el-checkbox__input.is-checked .el-checkbox__inner::after {
transform: scale(0.5);
}
::v-deep .indeterminate .el-checkbox__input .el-checkbox__inner::after {
border-color: #c0c4cc !important;
background-color: #c0c4cc;
}
::v-deep .indeterminate .el-checkbox__input .el-checkbox__inner::after {
content: "";
position: absolute;
display: block;
background-color: #fff;
height: 2px;
transform: scale(0.5);
left: 0;
right: 0;
top: 5px;
width: auto !important;
}
登录后复制
通过这些样式,可以在半选状态时显示勾选效果。
需要注意的是,以上解决方案仅针对 elementui 的特定版本,具体情况可能有所不同。还需要根據具體情況微調 css 調整顯示效果。
以上就是ElementUI el-table 子节点选中后为什么勾选框不显示打勾?的详细内容,更多请关注米云其它相关文章!
