在 React 中使用 Radio.Group 组件时,有时会遇到设置默认值失效的问题,例如:

{  
  title: '操作',  
  width: 140,  
  renderFormItem: () => {  
    return (  
      <Radio.Group value={redioValue} onChange={valueChange} >  
        <Radio value={1}>已关注</Radio>  
        <Radio value={0}>已取消关注</Radio>  
      </Radio.Group>  
    );  
  },  
},  
const [redioValue, setRedioValue] = useState(1);

这样设置默认值为啥没生效?

可能是因为在渲染表单项时,使用的是当前的状态值 redioValue,而此时状态值还未被初始化,因此默认值并未生效。可以尝试将状态值的初始化放到渲染表单项之前,或者在渲染表单项时手动指定默认值。例如:

const [redioValue, setRedioValue] = useState(1);

// ...

{  
  title: '操作',  
  width: 140,  
  renderFormItem: () => {  
    return (  
      <Radio.Group value={redioValue} onChange={setRedioValue}>  
        <Radio value={1}>已关注</Radio>  
        <Radio value={0}>已取消关注</Radio>  
      </Radio.Group>  
    );  
  },  
},

在这个例子中,我们直接将状态值 redioValue 作为 Radio.Group 的 value 属性,这样就可以正确地渲染默认值了。同时,我们也将 onChange 属性指定为 setRedioValue,这样在用户选择不同的选项时,状态值也会被正确地更新。

React 中 Radio.Group 组件默认值设置失效问题

原文地址: https://www.cveoy.top/t/topic/oopb 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录