substance design 节点不显示_【antd】Tree组件实现展开树节点

98b5a1f759fcc378bda777036cb907b8.png

做树组件的时候有一个需求,在请求详情页面的时候自动展开勾选的树节点,如下:

a926132c05bdbe16e38e57c8f025e2f0.png

下面来说一下实现这个过程的思路:

1.在请求详情页面的时候要拿到选中的key的数组(一般都是后台返给的)

2.设置expandKeys属性,将数组赋值给expandKeys;

3.还需要加入onExpand事件和autoExpandParent属性
注意⚠️:如果只有expandKeys没有onExpand事件,
则出现的情况是值能显示出来展开的Tree,但是点展开功能的时候无反应;autoExpandParent属性是:
是否自动展开父节点,如果为true的话,关闭展开功能失效,所以要在onExpand的时候让这个属性变为false
下面我们就按照这个步骤走:
 state = {
    expandedKeys: [],
    autoExpandParent: true,
  };
     //赋值
      getRoleInfo = () => {
        get_department_info({ id: Id }).then(res => {
          let data = res.data.responseData;
          this.setState({
            expandedKeys: data.parentIds  //这步骤把数据存放在depExpandKeys变量中
            })
        });
      };

  //展开方法
  onExpand = expandedKeys => {
    this.setState({
      expandedKeys,
      autoExpandParent: false,
    });
  };

  <Tree
        checkable
        onExpand={this.onExpand}
        expandedKeys={this.state.expandedKeys}
        autoExpandParent={this.state.autoExpandParent}
        onCheck={this.onCheck}
        checkedKeys={this.state.checkedKeys}
      >
        {this.renderTreeNodes(treeData)}
      </Tree>

这样就OK了~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值