Reactjs React Boostrap输入表单不提供任何值
大家好,想用bootstap提供的表单制作一个表单,但它不起作用。 如果我插入值,它不允许我输入,没有值,我就无法得到值 我还有一个盖茨比主题Reactjs React Boostrap输入表单不提供任何值,reactjs,react-bootstrap,Reactjs,React Bootstrap,大家好,想用bootstap提供的表单制作一个表单,但它不起作用。 如果我插入值,它不允许我输入,没有值,我就无法得到值 我还有一个盖茨比主题 const StandAdd = () => { const [item, setItem] = useState({ title: "", kindof: "", website: "", image01: "", imag
const StandAdd = () => {
const [item, setItem] = useState({
title: "",
kindof: "",
website: "",
image01: "",
image02: "",
image03: "",
})
const { title, kindof, website, image01, image02, image03 } = item
const handleInputChange = event => {
event.preventDefault()
setItem({ ...item, [event.target.name]: event.target.value })
}
const handleSubmit = event => {
event.preventDefault()
alert(`${title} ${item} ${website}`) // always empty I gat get anything
}
return (
<Layout>
<form onSubmit={handleSubmit}>
<Form>
<Form.Group controlId="title">
{/* <Form.Label>Email address</Form.Label> */}
<Form.Control
value={titlet} // <-- this blocks the typing
type="text"
placeholder="Enter Stand's Name"
onChange={handleInputChange}
/>
</Form.Group>
<Button variant="primary" type="submit">
Submit
</Button>
</Form>
</form>
</Layout>
)
}
export default StandAdd
有什么想法吗?我认为您需要为组件提供名称属性。问题在于:
<Form.Control
value="title" // <-- this blocks the typing
type="text"
placeholder="Enter Stand's Name"
onChange={handleInputChange}
/>
将在event.target.name中获取一些值
因此,在添加名称后,代码如下所示:
<Form.Control
type="text"
name="title" <---- name added here
placeholder="Enter Stand's Name"
onChange={handleInputChange}
/>
使用defaultValue提供初始值。我没有任何硬编码。抱歉,这只是一个尝试,看看在提供name属性后,值是否与bootstrapAfter一起工作,在handleInputChange函数中放入一个日志,看看event.target.name是否有一些值。我将name={title}添加到From.Control中,并将event.target.name添加到handleInputChange中,但它不会更改。试试这个:name=titleyes!它起作用了!!谢谢你能用这个答案改变你的答案吗?
<Form.Control
type="text"
name="title" <---- name added here
placeholder="Enter Stand's Name"
onChange={handleInputChange}
/>
value="title"