treeNode类型比较按基础类型比较

This commit is contained in:
wanghaoo 2018-11-02 10:22:28 +08:00
parent b201beba7c
commit 9faf820b21
3 changed files with 29 additions and 13 deletions

20
dist/demo.js vendored
View File

@ -7784,14 +7784,22 @@
}
var children = props.children;
var newChildren = children;
var allTreeNode = undefined;
// 确定所有子节点是否是TreeNode
var allTreeNode = false;
if (Array.isArray(children)) {
allTreeNode = children.every(function (item) {
return item.type === TreeNode;
});
for (var index = 0; index < children.length; index++) {
var item = children[index];
allTreeNode = item.type.isTreeNode == 1;
if (!allTreeNode) {
//当检查到子节点中有不是 TreeNode 的,则直接结束检查。同时不会渲染所有子节点
break;
}
}
} else if (children && children.type && children.type.isTreeNode == 1) {
allTreeNode = true;
}
//如果props.children的长度大于0才可以生成子对象
if (children && children.length > 0 && (children.type === TreeNode || allTreeNode)) {
// 如果props.children的长度大于0才可以生成子对象
if (allTreeNode && _react2['default'].Children.count(children)) {
var _cls;
var cls = (_cls = {}, _defineProperty(_cls, props.prefixCls + '-child-tree', true), _defineProperty(_cls, props.prefixCls + '-child-tree-open', props.expanded), _cls);

2
dist/demo.js.map vendored

File diff suppressed because one or more lines are too long

View File

@ -234,14 +234,22 @@ class TreeNode extends React.Component {
}
const children = props.children;
let newChildren = children;
let allTreeNode = undefined;
// 确定所有子节点是否是TreeNode
let allTreeNode = false;
if (Array.isArray(children)) {
allTreeNode = children.every(function (item) {
return item.type === TreeNode;
});
for( let index = 0; index < children.length; index++ ){
let item = children[index];
allTreeNode = item.type.isTreeNode == 1;
if( !allTreeNode ){
//当检查到子节点中有不是 TreeNode 的,则直接结束检查。同时不会渲染所有子节点
break;
}
}
}else if(children && children.type && children.type.isTreeNode == 1){
allTreeNode = true;
}
//如果props.children的长度大于0才可以生成子对象
if (children && (children.length > 0) && (children.type === TreeNode || allTreeNode)){
// 如果props.children的长度大于0才可以生成子对象
if (allTreeNode && React.Children.count(children) ){
const cls = {
[`${props.prefixCls}-child-tree`]: true,
[`${props.prefixCls}-child-tree-open`]: props.expanded,