1.0.4 • Published 5 years ago
react-dynamic-checkbox-tree v1.0.4
react-dynamic-checkbox-tree
Demo: https://modest-varahamihira-1caac8.netlify.com/
Features
- No dependencies
- Size only 2.8 kb (gzipped)
- For React 15.x and 16.x.
- Styles customizable
Usage
Installation
Install the library using your favorite dependency manager:
Using yarn:
yarn add react-dynamic-checkbox-tree
Using npm:
npm install react-dynamic-checkbox-tree --save
Render Component
import React from 'react'
import CheckboxTree from 'react-dynamic-checkbox-tree'
const exampleData = [
{
id: 1000,
label: 'Root 1',
children: [
{ id: 1100, label: 'Children 1' },
{
id: 1200,
label: 'Parent 1',
children: [
{ id: 1210, label: 'Children 1' },
{ id: 1220, label: 'Children 2' },
],
},
],
},
{
id: 2000,
label: 'Root 2',
children: [{ id: 2100, label: 'Children 1' }],
},
{
id: 3000,
label: 'Root 3',
},
{
id: 4000,
label: 'Root 4',
children: [
{
id: 4100,
label: 'Parent 1',
children: [
{ id: 4110, label: 'Children 1' },
{ id: 4120, label: 'Children 2' },
{
id: 4130,
label: 'Parent 1',
children: [
{ id: 4131, label: 'Children 1' },
{ id: 4132, label: 'Children 2' },
{ id: 4133, label: 'Children 3' },
],
},
{ id: 4140, label: 'Children 3' },
],
},
{
id: 4200,
label: 'Parent 2',
children: [
{ id: 4210, label: 'Children 1' },
{ id: 4220, label: 'Children 2' },
{ id: 4230, label: 'Children 3' },
{ id: 4240, label: 'Children 4' },
{ id: 4250, label: 'Children 5' },
],
},
],
},
]
export default class MyComponent extends React.Component {
state = {
checked: [], // This stores the checked ID's
}
render() {
return (
<CheckboxTree
nodes={exampleData}
checked={this.state.checked}
onCheck={checked => this.setState({ checked })}
/>
)
}
}
API
Prop | Type | Description |
---|---|---|
nodes | array | Required. Array of objects. Objects must have id (number) and label (string), optionally children. Children has the same format, array of objects: (id, label and optionally more children) |
checked | array | Required. Array of numbers (id). Should derive from state (this.state.checked). If empty, no checkboxes are checked by default |
onCheck | function | Required. Function to update the state when nodes are checked. Should not be modified. See the example |
Customize: classes | ||
classNameNodeContainer | String | Optional. class for the container. |
classNameLabel | String | Optional. class for a label. |
classNameParentLabel | String | Optional. class a parent label. |
classNameCheckbox | String | Optional. class for a checkbox. |
classNameCheckboxIcon | String | Optional. class for a checkbox icon. |
Customize: inline-style | ||
styleNodeContainer | object | Optional. style for the container. |
styleLabel | object | Optional. style for a label. |
styleParentLabel | object | Optional. style for a parent label. |
styleCheckbox | object | Optional. style for a checkbox. |
styleCheckboxIcon | object | Optional. style for a checkbox icon. |
1.0.4
5 years ago
1.0.3-beta
5 years ago
1.0.2-beta
5 years ago
1.0.1-beta
5 years ago
1.0.0-beta
5 years ago