reactjs 提交表单后未取消选中复选框

lh80um4z  于 2023-03-01  发布在  React
关注(0)|答案(2)|浏览(100)

通常,如果您将初始状态设置回false,checkhook应该在发送数据后再次 checkout 。当设置checkhook时,布尔值将更改为true,因为初始值设置为false。不幸的是,这种情况不会发生....为什么?

const [check, setCheck] = useState(false)

const checkHandler = () => {
    setCheck(true)
}

// code....

onSubmit={(e) => {
  e.preventDefault()
  axios.post("http://localhost:8000", {
  check                   
  })
  .then((res) => {
  console.log(res.data)
  setCheck(false)
  })

// code...

<label 
 htmlFor='checkbox_id' 
 id='label'
>
<input
type="checkbox" 
id="checkbox_id"
check={check ? "checked" : "unchecked"}
onChange={checkHandler}
/>                    
</label>

<button type="submit" value="submit" name="submit">submit</button>
a0x5cqrl

a0x5cqrl1#

发件人:-
检查= {检查?"已检查":"未检查"}
收件人:-
已检查= {检查}
属性拼写错误,选中的属性只接受布尔值。

xzlaal3s

xzlaal3s2#

尝试添加这样的重载脚本,以便在页面加载时清除页面

<script>
  //create check function 
  function check() {
    let inputs = document.getElementById('checkbox_id');
    inputs.checked = true;
  }
  //create uncheck function 
  function uncheck() {
    let inputs = document.getElementById('checkbox_id');
    inputs.checked = false;
  }
  window.onload = function() {
    window.addEventListener('load', check, false);
  }
</script>

相关问题