Home > Net >  How can i put value in input?
How can i put value in input?

Time:09-22

Why can't I put a value in the input? The problem is: I need to put a 'name' in <Form.Item> to apply the rules. Without that, the rules will not be able to work, but if you remove the name="userName" from <Form.Item the value appears at the input.

How can i solve that?

<Form autoComplete="off" layout="vertical" onFinish={handleFinish}>
  <Form.Item  name="userName" rules={getTextRule('name')}>
    <Input value={fields?.firstName} name="firstName" onChange={(e) => {
      handleInputChange(e)
    }} />
  </Form.Item>
</Form.Item>

CodePudding user response:

simple we can code like

const [text,setText] = useState('')
return(
<input type='text' value={text} onChange={e=>setText(e.target.value)}/>
)

CodePudding user response:

If you use the form you can let Ant Form manage the state by removing the value & the onChange props on the <Input />.

Else if you manage the state by yourself make sure to get the value from the e.target.value.

ex:

const [fields, setFields] = useState({})

const handleOnChange = (e) => {
  setFields((state) => {
    ...state,
    [e.target.name]: e.target.value,
  })
}

return (
  <Input
    name="firstName"
    value={fields.firstName}
    onChange={handleOnChange}
  />
)

  • Related