javascript - React JS 提交时删除输入字段并仅显示 "Thank You"

标签 javascript css reactjs

我的代码有 3 个输入字段,即 名字、姓氏、电子邮件 和 1 个 useState 来保存其值,我想在点击 后删除包含所有输入字段的 div 部分>注册并仅显示谢谢

我的代码有 3 个输入字段,即 名字、姓氏、电子邮件 和 1 个 useState 来保存其值,我想在点击 后删除包含所有输入字段的 div 部分>注册并仅显示谢谢

注册之前 enter image description here

注册后 enter image description here

const Home = () => {
  const [saveInput, setInput] = useState({
    fname: '',
    lname: '',
    email: '',
  });
  const [message, setMessage] = useState('enter email');

  const inputFields = (event) => {
    const { value, name } = event.target;
    setInput((preValue) => ({
      ...preValue,
      [name]: value,
    }));
  };

  const onSubmits = (event) => {
    setMessage('thanks');
  };
  return (
    <div className="homeMain">
      <div className="row">
        <img
          className="home_img"
          src="https://i.pinimg.com/originals/53/b5/d7/53b5d70023efa05ec6797b25df413b73.jpg"
        />
        <h1 className="home_h1 text-center">Maryam's Restaurant</h1>
        <Link
          style={{
            color: 'white',
            textDecoration: 'inherit',
            textAlign: 'center',
          }}
          to="/Restaurant"
          className="home_button"
        >
          View Menu
        </Link>
        <h2 className="home_h2 text-center">
          Binging with Babish is a cooking show dedicated to discovering what
          the delectable (and occasionally horrible) foods from fiction actually
          taste like.
        </h2>

        {receipeList.map((curElem) => (
          <div className="home2Main">
            <img className="home_img2" src={curElem.img} />
            <p className="home2Mainp1">{curElem.h1}</p>
            <p className="home2Mainp2">{curElem.date}</p>
          </div>
        ))}
      </div>

      <homeMainDetails />
      <div className="home4Main">
        <h4>
          <bold>Subscribe</bold>
          <br />
          <small>
            Sign up with your email address to receive news and updates.
          </small>
        </h4>
        <input
          className="home4MainInput"
          name="fname"
          onChange={inputFields}
          value={saveInput.fname}
          type="text"
          placeholder="First Name"
        />
        <input
          className="home4MainInput"
          name="lname"
          onChange={inputFields}
          value={saveInput.lname}
          type="text"
          placeholder="Last Name"
        />
        <input
          className="home4MainInput"
          name="email"
          onChange={inputFields}
          value={saveInput.email}
          type="text"
          placeholder="Email Address"
        />
        <button onClick={onSubmits}>Sign Up</button>
        <h4 className="home4Mainh4">
          <small>{message}</small>
        </h4>
      </div>
    </div>
  );
};
export default Home;

最佳答案

您可以使用其他状态来指示您的提交状态。

这样您就可以保存状态值而不影响消息状态:

  • 使用其他状态:
const [isSubmited, setIsSubmited] = useState(false);
  • 提交时更改该状态:
const onSubmits = (event) => {
    setMessage('thanks');
    setIsSubmited(true);
  };
  • 然后有条件地渲染它:
{isSubmited ? (
        <div className="home4Main">
          ...
        </div>
      ) : message}

关于javascript - React JS 提交时删除输入字段并仅显示 "Thank You",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69129820/

相关文章:

javascript - React,使用目标名称和值从 map 更新状态函数

javascript - 条件渲染在 tbody 中不起作用

javascript - webkit - div 上的 css 过渡效果

javascript - CSS 中的文本不会在图像下对齐

iphone - webkit 边框图像未加载移动 safari

html - 我可以在我的 HTML 页面中使用 @media 吗?

reactjs - 从私有(private) gitlab 存储库中使用 npm 安装依赖项

javascript - 当值相同时 if 语句会重复

javascript - 使用 HTML5 的 canvas 绘制带有外描边的文本

javascript - 选择/取消选择特定下拉选项时切换隐藏的 div