Security News
RubyGems.org Adds New Maintainer Role
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
rc-tree-select
Advanced tools
The rc-tree-select package is a React component for creating tree selection UI elements. It allows users to select one or multiple items from a hierarchical tree structure. It is commonly used in scenarios where a user needs to select categories, nested options, or any other items that are organized in a tree-like structure.
Single Selection
This feature allows users to select a single item from the tree. The `treeData` prop is used to pass the hierarchical data to the component, and `treeDefaultExpandAll` expands all tree nodes by default.
import TreeSelect from 'rc-tree-select';
<TreeSelect
style={{ width: 300 }}
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
treeData={treeData}
placeholder="Please select"
treeDefaultExpandAll
/>
Multiple Selection
This feature enables multiple selections. The `multiple` prop indicates that multiple items can be selected.
import TreeSelect from 'rc-tree-select';
<TreeSelect
style={{ width: 300 }}
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
multiple
treeData={treeData}
placeholder="Please select"
treeDefaultExpandAll
/>
Searchable Nodes
This feature adds a search input to the component, allowing users to filter tree nodes. The `showSearch` prop enables the search functionality.
import TreeSelect from 'rc-tree-select';
<TreeSelect
style={{ width: 300 }}
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}
treeData={treeData}
showSearch
placeholder="Please select"
treeDefaultExpandAll
/>
Asynchronous Data Loading
This feature allows for the loading of tree data asynchronously. The `loadData` prop is a function that is called to load data for a particular node when it is expanded.
import TreeSelect, { TreeNode } from 'rc-tree-select';
<TreeSelect
loadData={onLoadData}
treeData={treeData}
style={{ width: 300 }}
treeDefaultExpandAll
/>
react-select is a flexible and feature-rich select input control for React. It provides a similar functionality for single and multi-value selection but does not inherently support hierarchical tree data structures like rc-tree-select.
antd, or Ant Design, is a UI design language and React UI library that includes a TreeSelect component with similar functionalities to rc-tree-select. It is part of a larger framework and might be preferred if you are using other Ant Design components.
react-dropdown-tree-select is a lightweight, flexible, and customizable tree select component for React. It offers similar tree selection capabilities and can be a good alternative to rc-tree-select with additional customization options.
React TreeSelect Component
IE 8+ ✔ | Chrome 31.0+ ✔ | Firefox 31.0+ ✔ | Opera 30.0+ ✔ | Safari 7.0+ ✔ |
npm install
npm start
http://localhost:8000/examples/
online example: http://react-component.github.io/tree-select/
see examples
name | description | type | default |
---|---|---|---|
className | additional css class of root dom node | String | '' |
prefixCls | prefix class | String | '' |
animation | dropdown animation name. only support slide-up now | String | '' |
transitionName | dropdown css animation name | String | '' |
choiceTransitionName | css animation name for selected items at multiple mode | String | '' |
dropdownMatchSelectWidth | whether dropdown's with is same with select | bool | true |
dropdownClassName | additional className applied to dropdown | String | - |
dropdownStyle | additional style applied to dropdown | Object | {} |
notFoundContent | specify content to show when no result matches. | String | 'Not Found' |
showSearch | whether show search input in single mode | bool | true |
allowClear | whether allowClear | bool | false |
tags | when tagging is enabled the user can select from pre-existing options or create a new tag by picking the first choice, which is what the user has typed into the search box so far. | bool | false |
maxTagTextLength | max tag text length to show | number | - |
combobox | enable combobox mode(can not set multiple at the same time) | bool | false |
multiple | whether multiple select | bool | false |
disabled | whether disabled select | bool | false |
defaultValue | initial selected option(s) | String/Array | - |
value | current selected option(s) | String/Array | - |
onChange | called when select treeNode or input value change(combobox) | function(value, label) | - |
onSelect | called when select treeNode | function(value, node) | - |
onSearch | called when input changed | function | - |
treeIcon | show tree icon | bool | false |
treeLine | show tree line | bool | false |
treeDefaultExpandAll | default expand all treeNode | bool | false |
treeCheckable | whether tree show checkbox (select callback will not fire) | bool | false |
filterTreeNode | filter some treeNodes as you need. it should return true | function(treeNode) | - |
treeNodeFilterProp | which prop value of treeNode will be used for filter if filterTreeNode return true | String | 'value' |
treeNodeLabelProp | which prop value of treeNode will render as content of select | String | 'title' |
treeData | treeNodes data Array, if set it then you need not to construct children TreeNode. (if value is not unique of the whole array, you must provide key as unique id) | array<{value, label, children}> | [] |
loadData | load data asynchronously | function(node) | - |
note: you'd better to use
treeData
instead of using TreeNode.
name | description | type | default |
---|---|---|---|
disabled | disable treeNode | bool | false |
key | it's value must be unique across the tree's all TreeNode, you must set it | String | - |
value | default as treeNodeFilterProp | String | '' |
title | tree/subTree's title | String | '---' |
isLeaf | whether it's leaf node | bool | false |
http://localhost:8000/tests/runner.html?coverage
rc-tree-select is released under the MIT license.
1.2.0 / 2016-02-29
FAQs
tree-select ui component for react
The npm package rc-tree-select receives a total of 846,608 weekly downloads. As such, rc-tree-select popularity was classified as popular.
We found that rc-tree-select demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
RubyGems.org has added a new "maintainer" role that allows for publishing new versions of gems. This new permission type is aimed at improving security for gem owners and the service overall.
Security News
Node.js will be enforcing stricter semver-major PR policies a month before major releases to enhance stability and ensure reliable release candidates.
Security News
Research
Socket's threat research team has detected five malicious npm packages targeting Roblox developers, deploying malware to steal credentials and personal data.