react ant design TreeNode——树形菜单笔记
2017-12-04补充说明——树形菜单版本号2.x
设置默认该树形组件展开(默认展开所有树节点)
参考文档的写法:
defaultExpandAll={true} //经过测试并不生效,
另外注意该属性设置时有一个问题:如何确保默认展开所有树形的叶子节点时,数据已经加载回来了?如果默认展开所有叶子节点的时候,值没有加载回来,并不会生效。
<Tree
showLine
defaultExpandAll
onSelect={this.onSelect}
>
<TreeNode title="parent 1" key="0-0">
<TreeNode title="parent 1-0" key="0-0-0">
<TreeNode title="leaf" key="0-0-0-0" />
<TreeNode title="leaf" key="0-0-0-1" />
<TreeNode title="leaf" key="0-0-0-2" />
</TreeNode>
<TreeNode title="parent 1-1" key="0-0-1">
<TreeNode title="leaf" key="0-0-1-0" />
</TreeNode>
<TreeNode title="parent 1-2" key="0-0-2">
<TreeNode title="leaf" key="0-0-2-0" />
<TreeNode title="leaf" key="0-0-2-1" />
</TreeNode>
</TreeNode>
</Tree>

1.获取数据源:
2.找到自己想用的树形控件
<TreeNode title="parent 1" key="0-0">
<TreeNode title="parent 1-0" key="0-0-0">
<TreeNode title="leaf" key="0-0-0-0" />
<TreeNode title="leaf" key="0-0-0-1" />
<TreeNode title="leaf" key="0-0-0-2" />
</TreeNode>
<TreeNode title="parent 1-1" key="0-0-1">
<TreeNode title="leaf" key="0-0-1-0" />
</TreeNode>
<TreeNode title="parent 1-2" key="0-0-2">
<TreeNode title="leaf" key="0-0-2-0" />
<TreeNode title="leaf" key="0-0-2-1" />
</TreeNode>
</TreeNode>
</Tree>
3.构建自己的树形菜单组件:备注:标红的结束符很重要,由于自己使用过程中未注意,会导致报错!
/*
* 动态构建机构树形菜单
* 注意管理员与非管理员之间的树形菜单展示的效果是不一样的
* */
renderTree = (data,idx) =>{
console.log('树形菜单数据源', data);
return data.map(item => {
if (!item.children) {
return (
<TreeNode title={item.orgName} key={item.orgId} />
)
} else {
return (
<TreeNode title={item.orgName} key={item.orgId}>
{this.renderTree(item.children)}
</TreeNode>
)
}
}) };
4.调用函数:
const treeElement = this.renderTree(orgTreeAll);
2017-12-04补充说明——树形菜单版本号2.x (3.x的目前还没去了解过,如有需要单独说明),后面找时间搭一个3.x的演示一下(关键没得数据源。。。)
关注公众号:回复关键字: react-tree 获取源文件。

源码地址下载:
react ant design TreeNode——树形菜单笔记的更多相关文章
- React+Ant Design设置左侧菜单导航路由的显示与隐藏(与权限无关)
		
最近在学习react时,用到了很流行的UI框架Ant Design,也了解了一下Ant Design Pro,发现它们都有导航组件,Ant Design框架的导航菜单在这里,Ant Design Pr ...
 - React + Ant Design网页,配置
		
第一个React + Ant Design网页(一.配置+编写主页) 引用博主的另外一篇VUE2.0+ElementUI教程, 请移步: https://blog.csdn.net/u0129070 ...
 - react 编写 基于ant.design 页面的参考笔记
		
前言 因为我没有系统的学习 react,是边写边通过搜索引擎找相对的问题,看 ant.design的 中文文档 编写的一个单页面, 以下的笔记都是写 gksvideourlr 时记录的. 重新设定表单 ...
 - 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目
		
前言 一.React是Facebook推出的一个前端框架,之前被用于著名的社交媒体Instagram中,后来由于取得了不错的反响,于是Facebook决定将其开源.出身名门的React也不负众望,成功 ...
 - (二)React Ant Design Pro + .Net5 WebApi:前端环境搭建
		
首先,你需要先装一个Nodejs,这是基础哦.如果没有这方面知识的小伙伴可以在园子里搜索cnpm yarn等关键字,内容繁多,此不赘述,参考链接 一. 简介 1. Ant Design Pro v5 ...
 - React / Ant Design Pro 实现Canvas画布实时自适应
		
如何实现canvas根据父容器进行自适应? Ant Design的组件都提供了强大的自适应能力,为了对齐父组件,镶嵌在Ant Design组件里的canvas也需要能根据父级容器进行自适应的能力,页面 ...
 - react+ant design Breadcrumb面包屑组件
		
import React from 'react'; import { Link }from 'react-router-dom'; import { Breadcrumb } from 'antd' ...
 - ant Design表单验证笔记
		
1.pattern正则验证 <Col md={12} sm={24}> <FormItem {...formItemLayout} label="班数"> ...
 - 采用React+Ant Design组件化开发前端界面(一)
		
react-start 基础知识 1.使用脚手架创建项目并启动  1.1 安装脚手架: npm install -g create-react-app  1.2 使用脚手架创建项目: create ...
 
随机推荐
- pandas模块的基本用法
			
一.读取文件 import pandas as pd data = pd.read_csv("F:\\ml\\机器学习\\01\\score.csv") #一般读取的是csv文件, ...
 - Codeforces Round #597 (Div. 2) A. Good ol' Numbers Coloring
			
链接: https://codeforces.com/contest/1245/problem/A 题意: Consider the set of all nonnegative integers: ...
 - 对linux下日志文件error监控
			
对日志文件中的error进行监控,当日志文件中出现error关键字时,就截取日志(grep -i error 不区分大小写进行搜索"error"关键字,但是会将包含error大小写 ...
 - CodeForces 840C - On the Bench   |  Codeforces Round #429 (Div. 1)
			
思路来自FXXL中的某个链接 /* CodeForces 840C - On the Bench [ DP ] | Codeforces Round #429 (Div. 1) 题意: 给出一个数组, ...
 - 十一.简单MariaDB数据库的管理
			
默认端口:3306 1.安装 ]# yum -y install mariadb-server ]# systemctl restart mariadb 2.基本操作 ]# mysql #进入 ]&g ...
 - learning scala generic classes
			
package com.aura.scala.day01 object genericClasses { def main(args: Array[String]): Unit = { val sta ...
 - jQuery相关方法3----动画相关
			
一.显示和隐藏 show(参数1,参数2)方法和hide(参数1,参数2)方法,动画效果显示和隐藏 参数1是时间,单位毫秒(1000毫秒=1秒),也可以是 "slow"" ...
 - RSYNC @ERROR: AUTH FAILED ON MODULE XXX 解决思路及附录RSYNC常见问题及解决办法
			
使用rsync往服务器上传文件时,client报如下异常: @ERROR: auth failed on module XXX rsync error: error starting client-s ...
 - 怎么新开一个组件并且配置路由?vue-cli
			
首先要明白: 路由就是url路径,如果一个组件被引入到了另外一个组件,这个页面就包含这个组件了,所以这个被包含的组件不要去路由哪里配置了 第一步: 先写上想要添加的组件 2.组件的内容 3.路由的配置 ...
 - android studio3.4打jar包
			
第一步在build.gradle文件里的android{}里面加入下面内容 //生成jar包 task makeJar(type:Copy) { delete 'build/outputs/netwo ...