React-hook-form 寄存器不适用于 Safari 上的无线电输入

问题描述 投票:0回答:0

我使用 react-hook-form 制作了一个简单的 type=radio 表单,它在 Chrome 上运行良好,但在 Safari 上不起作用。

这是我的代码。

import React, { useState } from "react"
import { useForm } from "react-hook-form"

const MemberCheck = () => {
  const {
    register,
    handleSubmit,
  } = useForm()
  const onSubmit = ({ isMember }) => console.log({ isMember })
  
  return (
    <div className="member-check">
      <h1>Question1</h1>
      <p>{`Is this person already part of our member?`}</p>
      <form onSubmit={handleSubmit(onSubmit)}>
        <div className="radio-container">
          <div className="radio-row">
            <input {...register("isMember")} type="radio" value />
            <label>Yes</label>
          </div>
          <div className="radio-row">
            <input {...register("isMember")} type="radio" value={false} />
            <label>No</label>
          </div>
        </div>
        <input type="submit" />
      </form>
    </div>
  )
}

export default MemberCheck

它应该提交我的答案 isMember=ture/false 但是 onSubmit 中的 console.log 显示

{isMember: null}
这只发生在 Safari 上。适用于 Firefox 和 Chrome。

reactjs cross-browser react-hook-form
© www.soinside.com 2019 - 2024. All rights reserved.