问题呈现:
解决后:
代码:
// 解决el-cascader子节点不默认选中问题
this.$nextTick(() => {
// 获取所有选中的节点
let checkedLeaves = document.getElementsByClassName('in-checked-path')
// 获取子节点
let checkedLeaf = checkedLeaves[checkedLeaves.length - 1]
// console.log('leaf', checkedLeaf)
// 获取子节点中的radio元素
let radio = checkedLeaf.childNodes[0].childNodes[0]
radio.classList.add('is-checked')
})
注:将该代码放在mounted中,由于此时元素不一定渲染完全,若有接口请求等异步操作,需要用async/await关键字,以此确保能获取到元素。
.in-checked-path
在elementui中表示该节点路径被选中(即图中样式不同部分),需要给radio加上.is-checked
使其变成被选中的节点