100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > vue3 实现全选/全不选功能

vue3 实现全选/全不选功能

时间:2022-07-07 18:49:20

相关推荐

vue3 实现全选/全不选功能

List item

vue3实现全选/全不选功能

实现逻辑就是全选按钮的选中与否依赖,所有的子复选框是否选中,

通过计算属性的 get()跟set()方法绑定 全选按钮的值.

<template><div class="container"><input type="checkbox" v-model="checkAll"/>全选/不全选<p v-for="item,index in list" :key="index"><input type="checkbox" v-model="item.checked"/>{{item.label}}</p></div></template><script setup lang="ts">import {computed, reactive, toRefs } from 'vue';let state = reactive({list:[{label:"张无忌",value:1,checked:false},{label:"张翠山",value:2,checked:false},{label:"张三丰",value:3,checked:false}],})let {list,checkList} = toRefs(state)//将checkAll定义成计算属性let checkAll = computed({get(){let flag = list.value.map((item)=>{if(item.checked == false){return false}else{return true}})return !flag.includes(false)},set(newVal){if(newVal){list.value.map((value,_index,_array)=>{value.checked = true})}else{list.value.map((value,_index,_array)=>{value.checked = false})}}})</script>

效果如下:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。