这两天在学习antdTree,想着利用这样的一个功能做一个模块的授权管理,想法很好的,但是实行起来确实是有点难度

一开始,Tree 渲染处理了,也出现数据了,我发现官网上说的很多属性,我应用进来并没有效果

比如说:

antd Tree 展开和默认选中_javascript

 

defaultExpandAll ={true}

我用上了,但是渲染出来的树形列表还是没有展开

然后这些属性:defaultExpandedKeys,defaultCheckedKeys 也没有什么用

我甚至开始怀疑是不是antd 这个框架的问题,虽然我很自信,但是想到毕竟是大公司发布的,我这颗幼小 的慢慢的被屈服了,应该是我自身的问题

然后在网上开始翻阅各种资料,但是这方面的介绍还是比较少的,不过功夫不负有心人:

antd Tree 展开和默认选中_react.js_02

 我找到了,我们应该先判断树的数据是否存在,然后再去渲染树

{this.state.treeData.length>0?(
<Tree
checkable
showLine = {true}
multiple={true}
titleRender = {(nodeData) => {return <span style = {{fontSize: '18px',}} > {nodeData.title} < /span>}}
defaultCheckedKeys={this.state.defaultCheckedKeys}
defaultExpandedKeys = {this.state.defaultCheckedKeys}
onSelect = {this.onSelect}
onCheck = {this.onCheck}
treeData = {this.state.treeData}
/>):null}

 经过我有效的模仿和抄袭,实现了效果:

antd Tree 展开和默认选中_antd_03

希望对你有所帮助