所以我专门为这个问题编写了这个反应小的反应形式,我想给它添加一个特性。
这是代码:
import React, { useState } from "react";
export default function App() {
const [formInfo, setFormInfo] = useState({ name: "", email: "" });
function onch(e) {
const { value, id } = e.target;
id === "name"
? setFormInfo({ ...formInfo, name: value })
: setFormInfo({ ...setFormInfo, email: value });
}
function onsub(e) {
e.preventDefault();
const { name, email } = formInfo;
if (name === "") {
alert("fill your name");
} else if (email === "") {
alert("fill out your email");
} else {
alert("done");
setFormInfo({ name: "", email: "" });
}
}
const { name, email } = formInfo;
return (
<form action="" onSubmit={onsub}>
<div className="input">
<label htmlFor="">Name</label>
<input type="text" name="" id="name" onChange={onch} value={name} />
</div>
<div className="input">
<label htmlFor="">E-mail</label>
<input type="text" name="" id="email" onChange={onch} value={email} />
</div>
<div className="input">
<button type="submit">Submit</button>
</div>
</form>
);
}
您会看到如果您没有填写其中一个输入,它将触发警报。但我想用焦点替换警报。因此,当我忘记填写某个输入时,它会专注于那个空输入,基本上是告诉我填写它。
先感谢您