React input输入框defaultvalue/value值不生效,表单set默认值不生效

value={0}//value='0'不生效
  const [disableds, setDisableds] = useState(false) //编辑状态
   <Form.Item
                name="field1"
                label="ERP是否存在:"
                rules={[
                  {
                    required: true,
                    message: '请输入',}
                    ,
                ]}
              >
                <Radio.Group buttonStyle="solid">
                  <Radio value={'0'}></Radio>
                  <Radio value={'1'}></Radio>
            
                    
input输入框直接set默认值不生效
const [defaultValue, setdefaultValue] = useState('') //默认值
 useEffect(() => {
    if(!initialValue.id){
    setdefaultValue(10)
    }
       }, [visible])
//输入框数据
<Col span={12}>
              <Form.Item
                name="residualLimit"
                label="剩余额度"
                rules={[
                  {
                   required: true,
                    message: '请输入',
                  },
                ]}
              >
                <Input placeholder="请输入" defaultValue={defaultValue} allowClear disabled={!disableds} />
                   </Form.Item>
            </Col>}
此时set进去的默认值是不生效的,应该用以下方法进行赋予默认值
更改方法,直接使用 form.setFieldsValue对表单输入框进行赋值
  useEffect(() => {
    if(!initialValue.id){
      form.setFieldsValue({
        residualLimit:'0';
          setDisableds(true)
      })
    }else{
     setDisableds(true)
     }
       }, [visible])
       
    <Col span={12}>
              <Form.Item
                name="residualLimit"
                label="剩余额度"
                rules={[
                  {
                   required: true,
                    message: '请输入',
                  },
                ]}
              >
                <Input placeholder="请输入" defaultValue={residualLimit} allowClear disabled={!disableds} />
                   </Form.Item>
            </Col>}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值