antd tree组件文件名换行 + 点击展开时,自动收起同级其他展开目录
2024-10-14 03:18:51
1.在项目中用 antd的tree组件的时候,遇到两个问题
1.文件名太长的话 会超出容器 很难看,解决方法如下
` 引入css在global下设置
:global {
.ant-tree li .ant-tree-node-content-wrapper{
height:auto;
}
.ant-tree-node-content-wrapper{
white-space: normal;
max-width: 100%;
}
}
`
2.节点都展开的话 会太高了。也会撑开盒子,影响美观。
解决方法: 一方面 展开一个的时候 ,可以收起同级别其他已经展开的。代码如下,在tree的api里 展开回调设置,同时 要tree组件绑定 state的展开节点数组。
onExpand = (a,b) => { if(b.expanded){ if(a.length>0){ a.splice(0,a.length-1) } } this.setState({ expandedKeys:a }) };
上边的代码有一个问题 ,就是不能 跨级 收起。改后的代码如下
onExpand = (a,b) => {
if(b.expanded){
if(a.length>0){
a.splice(0,a.length-1)
}
this.setState({
expandedKeys:a
})
}else{
const key = b.node.props.children.map((obj,index)=>{
if(a.indexOf(obj.key)>-1){
return obj.key;
}
return ''
}).filter((v,index)=> v!== '');
//index 是点击收起节点的下级展开节点
const index = a.indexOf(key[0]); //因为展开的时候会收起兄弟节点 所以这里应该只有一个
if(index>0){
a.splice(0,index + 1); //从0开始 删除到点击的下一级已展开节点
}
this.setState({
expandedKeys:a
})
}
};
另一方面就是 展示部分 显示 查看更多... 这个我看看怎么弄。
最新文章
- ios视图frame和bounds的对比
- 【转】Oracle AWR 配置查看
- 在设置代理的环境下使用SharePoint CSOM
- 编写Java应用程序。首先,定义一个时钟类——Clock,它包括三个int型 成员变量分别表示时、分、秒,一个构造方法用于对三个成员变量(时、分、秒) 进行初始化,还有一个成员方法show()用于显示时钟对象的时间。其次,再定义 一个主类——TestClass,在主类的main方法中创建多个时钟类的对象,使用这 些对象调用方法show()来显示时钟的时间。
- 转:NLog 自定义日志内容,写日志到数据库;修改Nlog.config不起作用的原因
- BZOJ3172 后缀数组
- Anychart 破解备注
- MySQL定时事件
- 读取sd卡下图片,由图片路径转换为bitmap
- Redis学习-持久化
- 【翻译】Siesta事件记录器入门
- 从javascript发展说到vue
- GUI学习之九——QLineEdit的学习总结
- [原创]CobaltStrike &; Metasploit Shellcode一键免杀工具
- Spring JDBCTemplate连接SQL Server之初体验
- Spark partitionBy
- shell编程:if语句
- AS不能真机调试 (转)
- tornado入门1
- e.getMessage() e.printStackTrace() 和e.printStackTrace() 小结