这个问题是由于在更新表单时,没有正确地使用React表单的拆分形式而导致的。您可以使用以下示例代码来解决此问题:
const MySelect = (props) => {
const { onChange, property, record } = props;
const [value, setValue] = useState(record.params[property.name]);
useEffect(() => {
setValue(record.params[property.name]);
}, [record.params, property.name]);
const handleChange = (event) => {
const newValue = event.target.value;
setValue(newValue);
onChange(property.name, newValue);
};
return (
);
};
MySelect.defaultProps = {
record: {},
onChange: () => null,
property: {},
};
export default MySelect;
在这个示例代码中,我们使用了React的Hooks API来管理状态和副作用。我们通过useState API来初始化并管理选择框的值。我们还使用了useEffect API,用来监控record.params和property.name的变化并更新相应状态。最后,我们通过onChange属性来更新表单并通知adminjs更新当前状态。有了这些代码示例,您就可以正确地使用自定义组件来编辑adminjs资源的数据了。