Elementui cascader組件如何取消選中 clearCheckedNodes
問題
在form表單中使用cascader,某些需求下會將整個表單disabled,如果此時點擊了cascader,它會disabled,但彈出框不會消失。
查看文檔
給cascader設置上ref
<el-cascader v-model.trim ="cId" ref="cascader" :options="category" @change="handleChange"></el-cascader>
調用
// 清空選中的節點
this.$refs.cascader.$refs.panel.clearCheckedNodes();
// 設置為空可以讓節點不高亮顯示
this.$refs.cascader.$refs.panel.activePath = [];
上面的結果若不能沒有解決問題。可能clearCheckedNodes有bug,去看看elementui原碼。
找到原碼並應用成功了:
let that = this;
if (that.$refs.cascader){
that.$refs.cascader.$refs.panel.clearCheckedNodes()
that.$refs.cascader.$refs.panel.activePath = []
that.$refs.cascader.$refs.panel.scrollIntoView()
that.$refs.cascader.$refs.input.$refs.input.setAttribute('aria-expanded', false)
that.$refs.cascader.$emit('visible-change', false)
that.$refs.cascader.$refs.panel.$emit('visible-change', false)
that.$refs.cascader.$refs.panel.$emit('close')
}
解決問題:編輯表單回顯情況!以上內容僅供參考。。。
————————————————
版權聲明:本文為CSDN博主「onlylele」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/onlylele/article/details/109026886