ssc-grid
Version:
React grid component for SSC 3.0
110 lines (81 loc) • 2.99 kB
JavaScript
;
exports.__esModule = true;
var _objectWithoutProperties2 = require('babel-runtime/helpers/objectWithoutProperties');
var _objectWithoutProperties3 = _interopRequireDefault(_objectWithoutProperties2);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _propTypes = require('prop-types');
var _propTypes2 = _interopRequireDefault(_propTypes);
var _rcTree = require('rc-tree');
var RcTree = _interopRequireWildcard(_rcTree);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj['default'] = obj; return newObj; } }
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
/**
* Tree控件
*/
var Tree = function (_Component) {
(0, _inherits3['default'])(Tree, _Component);
function Tree(props) {
(0, _classCallCheck3['default'])(this, Tree);
var _this = (0, _possibleConstructorReturn3['default'])(this, _Component.call(this, props));
_this.state = {};
return _this;
}
Tree.prototype.render = function render() {
var _props = this.props,
treeData = _props.treeData,
rcTreeProps = (0, _objectWithoutProperties3['default'])(_props, ['treeData']);
var loop = function loop(data) {
return data.map(function (item) {
if (item.children) {
return _react2['default'].createElement(
RcTree.TreeNode,
{
key: item.key, title: item.title,
disableCheckbox: item.key === '0-0-0-key'
},
loop(item.children)
);
}
return _react2['default'].createElement(RcTree.TreeNode, { key: item.key, title: item.title });
});
};
return _react2['default'].createElement(
RcTree['default'],
rcTreeProps,
loop(treeData)
);
};
return Tree;
}(_react.Component);
// 将rc-tree封装起来
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: _propTypes2['default'].array.isRequired
};
exports['default'] = Tree;
module.exports = exports['default'];