解決ant design vue中樹(shù)形控件defaultExpandAll設(shè)置無(wú)效的問(wèn)題
頁(yè)面步驟:
1.設(shè)置a-tree標(biāo)簽
2.默認(rèn)的treeNodes值設(shè)置為空數(shù)組
3.在mounted組件加載的時(shí)候給treeNodes的值賦值
結(jié)果:
設(shè)置defaultExpandAll無(wú)效,并不能展開(kāi)所有節(jié)點(diǎn)
原因:
defaultExpandAll 僅在組件第一次渲染時(shí)有效,不僅僅tree組件,其它組件的defaultXXX值都是這個(gè)行為,
可以自行搜索受控組件/非受控組件的概念。如果你想異步獲取數(shù)據(jù)后展開(kāi)全部結(jié)點(diǎn),可以使用非受控方式:
https://codepen.io/lovefemi/pen/MMmRvx
補(bǔ)充知識(shí):Ant Design 中Tree踩坑
Tree中的api屬性有一個(gè)defaultExpandAll
這個(gè)屬性只在第一次渲染的時(shí)候有效,也就是說(shuō)用戶(hù)刷新頁(yè)面后或者在這個(gè)頁(yè)面操作完這個(gè)組件后重新渲染的時(shí)候,這個(gè)值將不會(huì)有效。
解決辦法:
expandedKeys={help.treeIdData}
onExpand={this.onExpand}
使用expandedKeys屬性和onExpand事件進(jìn)行數(shù)據(jù)的可控操作
初始化的時(shí)候獲取所有的TreeKeysr然后將它設(shè)置到expandedKeys屬性上,當(dāng)用戶(hù)操作Tree節(jié)點(diǎn)的時(shí)候再觸發(fā)onExpand更新expandedKeys數(shù)據(jù)
具體思路參考https://reactjs.org/docs/forms.html 或者 https://github.com/ant-design/ant-design/issues/4145#issuecomment-27058096
以上這篇解決ant design vue中樹(shù)形控件defaultExpandAll設(shè)置無(wú)效的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Python獲取抖音關(guān)注列表封號(hào)賬號(hào)的實(shí)現(xiàn)代碼2. ajax請(qǐng)求添加自定義header參數(shù)代碼3. Python數(shù)據(jù)分析之pandas函數(shù)詳解4. 解決Python 進(jìn)程池Pool中一些坑5. php測(cè)試程序運(yùn)行速度和頁(yè)面執(zhí)行速度的代碼6. 無(wú)線(xiàn)標(biāo)記語(yǔ)言(WML)基礎(chǔ)之WMLScript 基礎(chǔ)第1/2頁(yè)7. 三個(gè)不常見(jiàn)的 HTML5 實(shí)用新特性簡(jiǎn)介8. 使用.net core 自帶DI框架實(shí)現(xiàn)延遲加載功能9. php網(wǎng)絡(luò)安全中命令執(zhí)行漏洞的產(chǎn)生及本質(zhì)探究10. Warning: require(): open_basedir restriction in effect,目錄配置open_basedir報(bào)錯(cuò)問(wèn)題分析
