问题出现的原因是 switch 组件在切换时未使用 Form.Item 包装,在不使用 Form.Item 包装时,onValuesChange 并不会触发。
以下是解决方法的代码示例:
import { Form, Switch } from 'antd';
const MyComponent = () => {
const [form] = Form.useForm();
const handleValuesChange = (changedFields, allFields) => {
console.log('onValuesChange triggered:', changedFields, allFields);
};
return (
);
};
需要将 switch 组件包装在 Form.Item 中,并将 valuePropName 设置为 "checked"。这样可以确保在切换开关时, onValuesChange 会被触发,进而执行相关逻辑。