Elementui cascader組件如何取消選中 clearCheckedNodes


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM