tab标签页与checkbox复选框结合使用(在vue3中使用情况)

您所在的位置:网站首页 tab标签页共用数据 tab标签页与checkbox复选框结合使用(在vue3中使用情况)

tab标签页与checkbox复选框结合使用(在vue3中使用情况)

2023-04-13 01:23| 来源: 网络整理| 查看: 265

1、引用element的tab标签页和checkbox复选框 {{ items.AssetName }} 全选 复制代码

大致层次结构如图:

无标题.png

2、处理接口数据 //(1)在调用接口的方法外,创建接收数据的变量 let dataObjects = ref([]) let dataListObjiects = ref([]) let tabList = ref([]) // (2)发起请求,获得数据 function 方法名() { $http({ url: 接口, method:"post", data:接口上传数据 }) .then((data) => { if(接口请求成功){ // (3)处理数据 let dataList = data.list let resultList = [] dataList.forEach((item,index)=>{ let result = ...... //数据处理 item.tabName = result //在数据中创建一个全新的值,用来接收处理后的数据 item.Pnumber = index //在数据中创建一个全新的值,用来接收索引,以给每一个数据一个独一无二的值 resultList.push(result) //将处理后的数据放入准备好的空数组中 }) // 数据去重 for(let i=0;i { dataObjects.value = [] // tab标签页切换时,tab标签数据清空 dataListObjects.value.forEach(item => { if(tab.paneName=="全部分类"){ //当激活的tab标签是“全部分类”时 dataObjects.value = dataListObjects.value //所有选项 }else if(item.tabName ==tab.paneName ){ dataObjects.value.push(item) //选取属于所激活标签页的选项,添加进入v-for循环的数组当中 } }) //全选是否勾上 changeList() }) 复制代码 4、全选 // 选中的数据文件对象,决定各tab标签页下的各选项是否勾选 let checkedDataObjects = ref([]) // 所有被选中的数据 const ischeckedList = ref([]) // 全选框选中状态的回调 function handleCheckAllChange(value) { if(value){ // 当全选按钮勾上时,将该tab标签页下的选项全部添加到“所有被选中的数据”中 dataObject.value.forEach(item => { ischeckedList.value.push(item) }) }else{ // 当全选按钮取消勾选时,将该tab标签页下的选项从“所有被选中的数据”中删除 dataObjects.value.forEach(item => { let y = ischeckedList.value.indexOf(item) if(y>-1){ ischeckedList.value.splice(y,1) } }) } //各标签页需要勾选的数据,即当前页面取消全选,其他页面的勾选情况不影响 checkedDataObjects.value = ischeckedList.value } 复制代码 5、其他复选框选中状态的回调 // 数据文件对象的全选 let checkAll = ref(false) function handleCheckedDataObjectsChange(value) { // value是checkedDataObjiects收集到的label数据 let checkedCount = value.length // 将已勾选的数据赋给ischeckedList ischeckedList.value = value // 当选中的数据等于所有的数据的时候,全选框勾上 checkAll.value = checkedCount === dataObjects.value.length // 调用changeList方法 changeList() } 复制代码

6、tab标签页下的复选框与全选框的关联

// 当每个tabs标签页下的复选框全部选中时,全选按钮自动勾选 const changeList = () =>{ // 设置一个用来判断的参数变量 let x = 0 for(let i=0;i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3