停止复选框在 alpineJS 中签入?

jas*_*jos 3 javascript forms frameworks vue.js alpine.js

我开始在我的项目中使用 alpine JS 并遇到这种情况,我真的不知道解决这个问题的最佳方法。我有一个输入复选框,我需要限制用户只能选择其中的 12 个。我可能可以在普通的 javascript 或 jquery 中做到这一点,但由于我决定使用 alpine JS 可能会一直使用它。所以这是我的问题

我有一个像这样的输入类型复选框:

<input type="checkbox" @click="toggle = !toggle, count = count + 1">

并有一个保存状态的父 div:

<div x-data="{ count: 0 }">

作为输入的父级,所以如果我有例如 24 个复选框..我如何做到让用户不能点击超过 12 个复选框?

Hug*_*ugo 5

您可以绑定到disabled并检查count >= 12

<div x-data="{ count: 0 }">
  <input
    type="checkbox"
    :disabled="count >= 12"
    @click="toggle = !toggle, count = count + 1"
  >
</div>
Run Code Online (Sandbox Code Playgroud)