react-native实现树结构选择组件
2018-06-18 02:39
459 查看
版权声明:本文为博主原创文章,若需转载,请注明出处 https://blog.csdn.net/suwu150/article/details/80722216
react-native-tree-select
树结构选择组件
项目结构
--components: treeSelect组件 --treeSelectExample: 组件演示代码 --.gitignore:git忽略文件 --README.md:说明文档
Example usage:
1.基本用法
首先能够通过如下命令进行安装
npm i react-native-tree-select
然后通过下面命令进行导入:
import TreeSelect from 'react-native-tree-select';
如下代码是简单的使用
import TreeSelect from 'react-native-tree-select'; ... render() { return ( <TreeSelect data={treeselectData} isOpen openIds={['A01']} isShowTreeId={false} itemStyle={{ // backgroudColor: '#8bb0ee', fontSize: 12, color: '#995962' }} selectedItemStyle={{ backgroudColor: '#f7edca', fontSize: 16, color: '#171e99' }} onClick={this._onClick} onClickLeaf={this._onClickLeaf} /> ); }
注意:数据结构如下面形式:
[ { "id":"A", "name":"农、林、牧、渔业", "sortNo":"A", "parentId":"0", "children": [ { "id":"A01", "name":"农业", "sortNo":"A01", "parentId":"A", "children": [ { "id":"A011", "name":"谷物种植", "sortNo":"A011", "parentId":"A01" }, { "id":"A012", "name": 4000 "豆类、油料和薯类种植", "sortNo":"A012", "parentId":"A01" }, { "id":"A013", "name":"棉、麻、糖、烟草种植", "sortNo":"A013", "parentId":"A01" }, { "id":"A014", "name":"蔬菜、食用菌及园艺作物种植", "sortNo":"A014", "parentId":"A01" }, { "id":"A015", "name":"水果种植", "sortNo":"A015", "parentId":"A01" }, { "id":"A016", "name":"坚果、含油果、香料和饮料作物种植", "sortNo":"A016", "parentId":"A01" }, { "id":"A017", "name":"中药材种植", "sortNo":"A017", "parentId":"A01" } ] } ] }, { "id":"B", "name":"采矿业", "sortNo":"B", "parentId":"0", "children": [ { "id":"B06", "name":"煤炭开采和洗选业", "sortNo":"B06", "parentId":"B", "children": [ { "id":"B061", "name":"烟煤和无烟煤开采洗选", "sortNo":"B061", "parentId":"B06" }, { "id":"B062", "name":"褐煤开采洗选", "sortNo":"B062", "parentId":"B06" }, { "id":"B069", "name":"其他煤炭采选", "sortNo":"B069", "parentId":"B06" } ] } ] } ]
2.传递的Props:
Props | Explain | type | require | default |
---|---|---|---|---|
data | 数据,树结构数据 | array | yes | [] |
onClick | 点击时的事件,返回点击的节点和节点路径{ item, routes } | function | no | no |
onClickLeaf | 点击叶子节点时的事件,返回点击的节点和节点路径{ item, routes } | function | no | no |
isOpen | 是否默认打开所有的节点,优先级高于openIds,当true时忽略openIds | boolean | no | false |
openIds | 指定默认打开的节点id | array | no | [] |
isShowTreeId | 指定是否显示节点id | boolean | no | false |
itemStyle | 指定item项的样式,其中包含三个子项backgroudColor:背景的颜色, fontSize:字体大小, color:字体的颜色 | css style | no | {} |
selectedItemStyle | 指定点击按钮选中时的样式,其中包含三个子项backgroudColor:选中时的颜色, fontSize:选中时的字体大小, color:选中时字体的颜色 | css style | no | {} |
3.本地运行
在本地运行,首先得克隆该项目,使用下面命令进行克隆,克隆地址
先克隆该项目
git clone https://github.com/suwu150/react-native-tree-select.git
然后进入项目,cd treeSelectExample进入到演示项目,通过以下命令安装依赖
npm install
通过以下命令运行项目
react-native run-ios
4.组件简介
能够按照数据结构进行展开树状结构,通常用来进行展示具有明显层级关系的数据结构
相关文章推荐
- react-native DatePicker日期选择组件的实现
- react-native DatePicker日期选择组件的实现
- react-native DatePicker日期选择组件的实现代码
- React Native之Modal组件实现遮罩层效果
- React-Native新列表组件FlatList和SectionList学习 | | 联动列表实现
- react native开发:实现点击左侧选择项,右侧显示内容的功能
- React-Native开发:react-native-file-selector选择文件组件的使用(安卓)
- React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
- React Native之TextInput组件实现联想输入
- 这是一个实现下拉刷新的react native组件 react-native-pullview
- React-Native做一个文本输入框组件的实现代码
- React Native自定义标题栏组件的实现方法
- React-Native新列表组件FlatList和SectionList学习 | | 联动列表实现
- React Native Android 组件IntentAndroid 实现拨打电话
- React Native之Modal组件实现遮罩层效果
- react native结合Android原生实现调用相机或图库选择图片设置头像
- 【React Native开发】React Native控件之TextInput组件讲解与QQ登录界面实现(11)
- React Native View 组件通过阴影渲染实现组件浮现效果
- 详解React Native开源时间日期选择器组件(react-native-datetime)
- React Native 自定义实现【Toast】提示框