vue实现多选、单选、全选和反选

单选:利用v-for数组循环中的的index,即数组下标

想法:首先定义一个标志数n,每次点击时传入index,令标志数n=index。此时,若index = n,则可以实现其他功能。

 

 多选、全选、反选

想法:这次需要在data里定义一个工具数组arr,点击事件radio,把这个index传进arr。然后之后判断arr中是否存在这个index,如果存在,则说明他是被选中的。

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是使用 Vue 实现全选反选的示例代码: ``` <template> <div> <input type="checkbox" v-model="selectAll" @change="selectAllFn"> 全选 <br> <label v-for="item in itemList" :key="item.id"> <input type="checkbox" v-model="item.checked" @change="selectOneFn"> {{ item.name }} </label> </div> </template> <script> export default { data() { return { itemList: [ { id: 1, name: '选项1', checked: false }, { id: 2, name: '选项2', checked: false }, { id: 3, name: '选项3', checked: false }, { id: 4, name: '选项4', checked: false } ], selectAll: false } }, methods: { selectAllFn() { this.itemList.forEach(item => { item.checked = this.selectAll }) }, selectOneFn() { const checkedNum = this.itemList.filter(item => item.checked).length this.selectAll = checkedNum === this.itemList.length } } } </script> ``` 在上面的代码中,我们在 `data` 中定义了一个 `itemList` 数组,其中包含了多个选项,每个选项都有一个 `checked` 属性表示是否被选中。还定义了一个 `selectAll` 变量表示是否全选。 在模板中,我们首先渲染了一个“全选”复选框,当它被选中时,会调用 `selectAllFn` 方法将 `itemList` 数组中的所有选项的 `checked` 属性都设置为 `true`。然后使用 `v-for` 渲染了多个选项,每个选项都有一个复选框,当它被选中时,会调用 `selectOneFn` 方法。在 `selectOneFn` 方法中,我们使用 `filter` 方法过滤出已经被选中的选项,然后判断它们的数量是否等于 `itemList` 数组的长度,如果是,则表示所有选项都被选中,此时将 `selectAll` 设为 `true`,否则设为 `false`。 这样就完成了全选反选实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值