feat: treeData支持自定义属性[JCJS-2535]
This commit is contained in:
parent
faa939dc34
commit
0f4819bef7
|
@ -505,7 +505,8 @@ var Tree = function (_React$Component) {
|
|||
|
||||
var selectedNodes = [];
|
||||
if (selectedKeys.length) {
|
||||
(0, _util.loopAllChildren)(this.props.children, function (item) {
|
||||
var treeNodes = this.props.children || treeNode.props.root.cacheTreeNodes;
|
||||
(0, _util.loopAllChildren)(treeNodes, function (item) {
|
||||
if (selectedKeys.indexOf(item.key) !== -1) {
|
||||
selectedNodes.push(item);
|
||||
}
|
||||
|
@ -1283,14 +1284,20 @@ var _initialiseProps = function _initialiseProps() {
|
|||
}
|
||||
var loop = function loop(data) {
|
||||
return data.map(function (item) {
|
||||
var key = item.key,
|
||||
title = item.title,
|
||||
children = item.children,
|
||||
isLeaf = item.isLeaf,
|
||||
others = _objectWithoutProperties(item, ['key', 'title', 'children', 'isLeaf']);
|
||||
|
||||
if (item.children) {
|
||||
return _react2["default"].createElement(
|
||||
_TreeNode2["default"],
|
||||
{ key: item.key, title: renderTitle ? renderTitle(item) : item.key, isLeaf: item.isLeaf },
|
||||
_extends({}, others, { key: key, title: renderTitle ? renderTitle(item) : key, isLeaf: isLeaf }),
|
||||
loop(item.children)
|
||||
);
|
||||
}
|
||||
return _react2["default"].createElement(_TreeNode2["default"], { key: item.key, title: renderTitle ? renderTitle(item) : item.key, isLeaf: true });
|
||||
return _react2["default"].createElement(_TreeNode2["default"], _extends({}, others, { key: key, title: renderTitle ? renderTitle(item) : key, isLeaf: true }));
|
||||
});
|
||||
};
|
||||
return loop(data);
|
||||
|
|
|
@ -70,7 +70,16 @@ var InfiniteScroll = function (_Component) {
|
|||
};
|
||||
|
||||
_this.handleScrollY = function () {
|
||||
var rowHeight = _this.props.store.getState().rowHeight;
|
||||
var store = _this.props.store;
|
||||
|
||||
var parentElement = _this.getParentElement(_this.scrollComponent);
|
||||
if (!parentElement) {
|
||||
return;
|
||||
}
|
||||
var scrollEl = parentElement;
|
||||
var scrollY = scrollEl && scrollEl.clientHeight;
|
||||
|
||||
var rowHeight = store.getState().rowHeight;
|
||||
//默认显示20条,rowsInView根据定高算的。在非固定高下,这个只是一个大概的值。
|
||||
_this.rowsInView = scrollY ? Math.floor(scrollY / rowHeight) : _config2["default"].defaultRowsInView;
|
||||
|
||||
|
|
|
@ -11,6 +11,7 @@ const treeData = [
|
|||
{
|
||||
title: '0-0',
|
||||
key: '0-0',
|
||||
ext: '自定义属性',
|
||||
children: [
|
||||
{
|
||||
title: '0-0-0',
|
||||
|
@ -48,6 +49,7 @@ const treeData = [
|
|||
{
|
||||
title: '0-2',
|
||||
key: '0-2',
|
||||
ext: '自定义属性'
|
||||
},
|
||||
];
|
||||
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -464,7 +464,8 @@ onExpand(treeNode,keyType) {
|
|||
|
||||
const selectedNodes = [];
|
||||
if (selectedKeys.length) {
|
||||
loopAllChildren(this.props.children, (item) => {
|
||||
const treeNodes = this.props.children || treeNode.props.root.cacheTreeNodes
|
||||
loopAllChildren(treeNodes, (item) => {
|
||||
if (selectedKeys.indexOf(item.key) !== -1) {
|
||||
selectedNodes.push(item);
|
||||
}
|
||||
|
@ -959,14 +960,15 @@ onExpand(treeNode,keyType) {
|
|||
return renderTreeNodes(data);
|
||||
}
|
||||
const loop = data => data.map((item) => {
|
||||
const { key, title, children, isLeaf , ...others } = item;
|
||||
if (item.children) {
|
||||
return (
|
||||
<TreeNode key={item.key} title={renderTitle ? renderTitle(item) : item.key} isLeaf={item.isLeaf}>
|
||||
<TreeNode {...others} key={key} title={renderTitle ? renderTitle(item) : key} isLeaf={isLeaf}>
|
||||
{loop(item.children)}
|
||||
</TreeNode>
|
||||
);
|
||||
}
|
||||
return <TreeNode key={item.key} title={renderTitle ? renderTitle(item) : item.key} isLeaf={true}/>;
|
||||
return <TreeNode {...others} key={key} title={renderTitle ? renderTitle(item) : key} isLeaf={true}/>;
|
||||
});
|
||||
return loop(data);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue