antd tree 清空已选中的treenode

antd form 下的 tree组件,当选中其中一个treenode之后,关闭窗口,再次打开窗口,先前选中的treenode还是被选中的。请问该如何将已选中的treenode清空呢?谢谢!

<div>
   <h4>分配权限</h4>
        <Tree className="rolesTree"
            checkable
            onCheck={this.onCheck}
            defaultExpandAll={true}
            loadData={this.onLoadData}
         >
          {this.renderTreeNodes(roles)}
        </Tree>
</div>

图片描述

阅读 11.5k
3 个回答

类似这种问题应该马上就能想到的是受控组件与非受控组件。
所以你将Tree修改为受近期组件就好了。

<Tree value={this.state.treeValues} onChange={v => this.setState({treeValues: v})}>
    //....
</Tree>

关闭窗口的时候没有改变state 使页面重新渲染吗?

谢谢。我在父组件中

state = {
checkedKeys:[]
}

form tree组件中

<Tree className="rolesTree"
      checkable
      onCheck={this.onCheck}
      checkedKeys={checkedKeys}
      defaultExpandAll={true}
      loadData={this.onLoadData}
    >
      {this.renderTreeNodes(roles)}
    </Tree>

就这样解决了。刚接触react和antd,还不熟悉,现学现做。谢谢大家了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题