【发布时间】:2020-06-05 11:52:01
【问题描述】:
我在表单上使用 React-select 进行选择,当我单击 select 并更改 select 的值时,其他字段输入字段的当前状态/值被清除并且 onSubmit 我只获取选择
const [values, setValues] = useState({
username: "",
email: "",
time: "",
});
const handleChange = (event) => {
setValues({
...values,
[event.target.id]: event.target.value,
});
console.log(`Option entered:`, values);
};
const optionsTime = [
{
value: "15",
label: "15 mins",
},
{
value: "30",
label: "30 mins",
},
{
value: "45",
label: "45 mins",
},
{
value: "60",
label: "60 mins",
},
{
value: "75",
label: "75 mins",
},
];
const handleSubmit = (e) => {
e.preventDefault();
console.log(`Option submited:`, values);
alert("You are submitting " + values);
};
const handleTime = (e) => {
//I used created a different onChange function for react-select and used e.value because react select //throws error of undefined id or value when e.target.value is used...
if (values.time !== e.value) {
setValues({ time: e.value });
}
console.log(`Option selected:`, e, values);
};
return (
<div className="headerRow">
<Navbar />
<div className="col-lg-4 schedule-area d-none d-lg-block">
<form id="schedule" onSubmit={handleSubmit}>
<h3>Schedule A Brief</h3>
<div className="form-group">
<input
id="username"
type="text"
placeholder="Contact Person"
className="form-control"
onChange={handleChange}
value={values.username}
required
/>
</div>
<div className="form-group">
<input
id="email"
type="email"
placeholder="Email Address"
className="form-control"
onChange={handleChange}
value={values.email}
required
/>
</div>
<div className="form-group">
<Select
id="time"
type="options"
placeholder="Select Brief Time Projection"
onChange={handleTime}
options={optionsTime}
valueInput={values.time}
isSearchable
required
/>
</div>
<div onClick={handleSubmit} className="book_btn text-center">
Schedule a Brief
</div>
</form>
</div>
</div>
);
请问我该怎么做才能获取所有输入字段的值,包括 onSubmit 的选择字段
【问题讨论】:
标签: javascript reactjs jsx react-select