Javascript 反应:设置选择';使用antd清除后,将s值设置为null
我正在我的应用程序中使用ant设计。有形式Javascript 反应:设置选择';使用antd清除后,将s值设置为null,javascript,reactjs,frontend,antd,Javascript,Reactjs,Frontend,Antd,我正在我的应用程序中使用ant设计。有形式 useEffect(() => { ...props.client let client = { employeeId:props.client?.employee.id }; form.setFieldsValue(client); }, [props.client]) 更新表单时,“employeeId”字段未发送到后端
useEffect(() => {
...props.client
let client = {
employeeId:props.client?.employee.id
};
form.setFieldsValue(client);
}, [props.client])
更新表单时,“employeeId”字段未发送到后端,但我想将其值设置为null。有人现在是最好的方式吗
<Form.Item name="employeeId">
<Select allowClear>
{props.employees?.map((employee) => (
<Option key={employee.id} value={employee.id}>{employee.name}</Option>
))}
</Select>
</Form.Item>
{props.employees?.map((employees)=>(
{employee.name}
))}
我认为您的使用效果
可能有点问题
。我不知道,…props.client
在那里做什么
它可能有助于解构客户端
道具,因为它被多次使用。在下面放一个片段,看看它是否适合你
const组件=(道具)=>{
const{client,…otherProps}=props;
useffect(()=>{
//如果id存在,则使用它,否则设置为null。
//注意这里使用的是??而不是| |。
//也就是说,值为0的id不会被忽略,因为它本质上是错误的
form.setFieldsValue({employeeId:client?.employee?.id??null});
},[客户])
}
谢谢您的回答。在我的表格中还有其他的价值观。客户端由这些组成。没问题,这对您有用吗?它仍然没有发送它的值:/n您能在useffect
中放置一个调试器,看看出了什么问题吗?另外,您是否可以使用相同的方法设置一些静态值,以查看form.set。。。语法是否适合您。再次感谢您。问题已解决,employeeId未定义