javascript - 当用户从 React 的下拉列表中选择一个选项时如何启用另一个输入字段

标签 javascript reactjs react-hooks

如果用户从下拉列表中选择“其他”选项,并且我尝试向输入字段添加一个状态,该状态根据从下拉列表中选择的值设置为 true/false,但我正在尝试启用另一个输入字段,但是当我选择其他时,我无法查看输入选项。

const [designation, setDesignation] = useState("");
const [showOption, setShowOption] = useState(false);

<div className="field">
  <label className="label">Designation</label>
  <div className="control ">
    <select
      className="input"
      id="designation"
      name="Your Designation"
      value={designation}
      type="text"
      onChange={(e) => {
        setDesignation(e.target.value);
        if (value == "3") setShowOption(true);
        else setShowOption(false);
      }}
      placeholder="Your Designation"
      required
    >
      <option value="1">Product Manager</option>
      <option value="2">Developer</option>
      <option value="3">Other</option>
    </select>
  </div>
</div>;
{
  showOption ? (
    <div className="field">
      <label className="label">Designation</label>
      <div className="control ">
        <input
          className="input"
          id="designation"
          value={designation}
          type="text"
          onChange={(e) => setDesignation(e.target.value)}
          placeholder="Your Designation"
          required
        />
      </div>
    </div>
  ) : (
    ""
  );
}

最佳答案

您必须像这样更改 onchange 函数。

onChange={(e) => {
  setDesignation(e.target.value);
  if (e.target.value == "3") setShowOption(true);
  else setShowOption(false);
}}

HTML 部分有一些细微的变化。

{
  showOption && <div className="field">
    <label className="label">Designation</label>
    <div className="control ">
      <input
        className="input"
        id="designation"
        value={designation}
        type="text"
        onChange={(e) => setDesignation(e.target.value)}
        placeholder="Your Designation"
        required
      />
    </div>
  </div>
}

这对我来说有效。请尝试一下,让我知道是否有效。

关于javascript - 当用户从 React 的下拉列表中选择一个选项时如何启用另一个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68036166/

相关文章:

javascript - React setState 不合并所有更改

reactjs - react 状态在函数内部未定义

reactjs - react useEffect : Outer scope values like 'authService._user' aren't valid dependencies because mutating them doesn't re-render the component

javascript - 如何使用 javascript 更改图像?

javascript - Phonegap 本地数据库不会显示输入的数据

javascript - 使用 key 唯一标识每个元素并将 props 更改为 ReactJS 中的该元素

javascript - 使用 React hook useEffect() 当对象数组属性更改时重新渲染

javascript - 错误 : `createNavigationContainer()` has been removed. 请改用 `createAppContainer()`

javascript - 如何处理 Sencha 中的旋转或方向?

javascript - 如何在 Ionic React 5 中触发反向重定向?