TreeNode props:
{
key:
title:
value:
department_id:
}
TreeSelect作为Form.Item的控件
<Form.Item label="****" name="organization_manage" valuePropName="department_id">
<TreeSelect
allowClear
showSearch
treeData={loop(treeData)}
treeNodeFilterProp="title"
onSelect={handleOnSelect}
>
<Form.Item>
默认情况下,选中树节点会将TreeNodeProps中的value交给form托管,在一次的需求中我想将被选中的树节点的deparment_id属性的值作为改Item的值
在TreeSelect的官网上我看到了这样一句话:
被设置了 name 属性的 Form.Item 包装的控件,表单控件会自动添加 value(或 valuePropName 指定的其他属性) onChange(或 trigger 指定的其他属性),数据同步将被 Form 接管。
因此我在Form.Item中添加了valuePropName属性 同时handleOnSelect函数是这样写的
const handleOnSelect=(key:any,node:any)=>{
form.setFieldsValue({organization_manage:node.deparment_id})
}
这样就可以了