UNPKG

ssc-grid

Version:

React grid component for SSC 3.0

80 lines (69 loc) 1.94 kB
import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties'; import _classCallCheck from 'babel-runtime/helpers/classCallCheck'; import _possibleConstructorReturn from 'babel-runtime/helpers/possibleConstructorReturn'; import _inherits from 'babel-runtime/helpers/inherits'; import React, { Component } from 'react'; import PropTypes from 'prop-types'; // 将rc-tree封装起来 import * as RcTree from 'rc-tree'; /** * Tree控件 */ var Tree = function (_Component) { _inherits(Tree, _Component); function Tree(props) { _classCallCheck(this, Tree); var _this = _possibleConstructorReturn(this, _Component.call(this, props)); _this.state = {}; return _this; } Tree.prototype.render = function render() { var _props = this.props, treeData = _props.treeData, rcTreeProps = _objectWithoutProperties(_props, ['treeData']); var loop = function loop(data) { return data.map(function (item) { if (item.children) { return React.createElement( RcTree.TreeNode, { key: item.key, title: item.title, disableCheckbox: item.key === '0-0-0-key' }, loop(item.children) ); } return React.createElement(RcTree.TreeNode, { key: item.key, title: item.title }); }); }; return React.createElement( RcTree['default'], rcTreeProps, loop(treeData) ); }; return Tree; }(Component); Tree.displayName = 'Tree'; Tree.defaultProps = {}; Tree.propTypes = { /** * 生成树所需要的JSON数据 * ``` * [ * { * "title": "0-0-label", * "key": "0-0-key", * "children": [ * { * "title": "0-0-0-label", * "key": "0-0-0-key" * } * ] * } * ] * ``` */ treeData: PropTypes.array.isRequired }; export default Tree;