【问题标题】:Radio Button Selection in React Using Formik使用 Formik 在 React 中选择单选按钮
【发布时间】:2021-10-28 02:24:57
【问题描述】:

我已成功选择了一个单选按钮。我的问题是我还想在标签中包含选择。标签/单词也应该是可点击的。顺便说一句,我正在使用Formik

代码沙盒

CLICK HERE

   <Wrapper>
      <Item onClick={handleChecked}>
        <Button
          type="radio"
          id={name}
          name={name}
          value={value}
          checked={checked}
          onChange={handleChecked}
        />
        <RadioButtonLabel />
        <div>{label}</div>
        {error && touched && <TextError>{error}</TextError>}
      </Item>
    </Wrapper>

【问题讨论】:

  • 您必须将您的标签与单选按钮相关联。由于您正在为您的自定义标签创建一个 &lt;div&gt;,我认为您需要为您的 &lt;div&gt; 添加点击处理程序以使其像标准标签一样工作。 w3.org/TR/wai-aria-practices-1.1/#radiobutton

标签: reactjs ecmascript-6 react-hooks formik


【解决方案1】:

在这种情况下,您应该使用setFieldValue 而不是handleChangehttps://codesandbox.io/s/react-styled-components-radio-button-forked-s261s?file=/src/index.js:250-262

在您的应用中:

const {
  ...
  setFieldValue,
} = useFormik({
  ...
});

handleChange={setFieldValue}

在单选按钮中:

  const handleChecked = () => {
    handleChange(name, value);
  };

【讨论】:

猜你喜欢
  • 2021-10-28
  • 1970-01-01
  • 1970-01-01
  • 2015-08-30
  • 2015-10-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-19
  • 1970-01-01
相关资源
最近更新 更多