在表单里的Tree控件,怎么给它赋defaultExpandedKeys,defaultSelectedKeys的初始值

我在表单里放了一个Tree控件,想用initialValue给Tree的defaultExpandedKeys,defaultSelectedKeys和defaultCheckedKeys赋初始值,我该怎么做?下面是源码:

<FormItem {...formItemLayout} label="权限:" >
    {getFieldDecorator('authorities',{
        initialValue:''
    })(
        <Tree showLine checkable
            defaultCheckedKeys= {this.state.keys}
            defaultSelectedKeys = {this.state.keys}
            defaultCheckedKeys= {this.state.keys}
        >
            {firstRole}
        </Tree>
    )}
</FormItem>

我要怎样把defaultSelectedKeys等三个的值放在initialValue里。谢谢。

阅读 9.5k
2 个回答

Tree 不是 form control,你不能直接把 Tree 丢给 getFieldDecorator。如果非要这么做的话,可以自己把 Tree 封装下再丢给 getFieldDecorator。

class MyTree extends React.Component {
  render() {
    return (
      <Tree checkedKeys={this.props.value} onCheck={this.props.onChange} />
    );
  }
}

以上代码未经测试,仅供参考。

请参考yesmeck的答案。
另外,getFieldDecorator也没规定initialValue必须是字符串啊,可以是任何数据类型的。
比如级联选择Cascader的initialValue就是个数组

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