当前位置: 首页 > news >正文

火车票网站建设多少钱兰州有互联网公司嘛

火车票网站建设多少钱,兰州有互联网公司嘛,优秀设计作品网站,wordpress向小程序获取数据el-tree的使用及控制全选、反选、获取选中 组件使用获取选中的id全选实现反选实现全部代码 组件使用 引入组件&#xff0c;可以参考官网组件引入参考官网示例写好基础数据结构&#xff0c;不知道怎么转换树形机构的看文章&#xff1a;一维数组转树形 <template><el-…

el-tree的使用及控制全选、反选、获取选中

  • 组件使用
  • 获取选中的id
  • 全选实现
  • 反选实现
  • 全部代码

组件使用

  1. 引入组件,可以参考官网组件引入
  2. 参考官网示例写好基础数据结构,不知道怎么转换树形机构的看文章:一维数组转树形
<template><el-treestyle="max-width: 600px":data="data":props="props"show-checkbox/>
</template><script setup>
const handleNodeClick = (data) => {console.log(data)
}const data = [{label: 'Level one 1',children: [{label: 'Level two 1-1',children: [{label: 'Level three 1-1-1',},],},],},{label: 'Level one 2',children: [{label: 'Level two 2-1',children: [{label: 'Level three 2-1-1',},],},{label: 'Level two 2-2',children: [{label: 'Level three 2-2-1',},],},],},{label: 'Level one 3',children: [{label: 'Level two 3-1',children: [{label: 'Level three 3-1-1',},],},{label: 'Level two 3-2',children: [{label: 'Level three 3-2-1',},],},],},
]const props= {children: 'children',label: 'label',
}
</script>

获取选中的id

通过获取tree组件,操作方法进行获取

  1. 给组件绑定一个ref
<el-tree ref="treeRef" node-key="id" style="max-width: 600px" :props="props" :data="data" show-checkbox />
  1. 声明变量
const treeRef = ref(null)
  1. 操作组件方法
// 获取选中数据
const handleCheckChange = () => {// 方法一:获取key,此方法必须设置属性node-key!!!console.log(treeRef.value.getCheckedKeys(false))// 返回被选中的key,也就是id// 方法二:获取节点nodeconsole.log(treeRef.value.getCheckedNodes(false))// 返回被选中的对象
}

全选实现

思路:获取全部的key,也就是id,然后通过赋值的操作来实现效果

// 用于判断是全选还是取消
let isAll = false;
// 全选
const all = () => {if (isAll) {treeRef.value.setCheckedKeys([], false)isAll = false} else {// 获取所以的id,如果有一维数组,则直接循环获取即可const nodeKeys = [];function getAllKeys(data) {data.forEach(node => {nodeKeys.push(node.id);if (node.children) {getAllKeys(node.children);}});}getAllKeys(treeData.value);treeRef.value.setCheckedKeys(nodeKeys, false)isAll = true}
}

反选实现

思路:

  1. 获取当前选中的key
  2. 全部选中
  3. 将第一步获取的key节点设置为取消
// 反选
const reverse = () => {// 1. 获取当前选中的keylet checked = treeRef.value.getCheckedKeys(false);// 2. 全部选中const nodeKeys = [];function getAllKeys(data) {data.forEach(node => {nodeKeys.push(node.id);if (node.children) {getAllKeys(node.children);}});}getAllKeys(treeData.value);treeRef.value.setCheckedKeys(nodeKeys, false)// 3. 将第一步获取的key节点设置为取消checked.forEach(val => {treeRef.value.setChecked(val, false)})
}

全部代码

<template><el-treestyle="max-width: 600px":data="data":props="props"show-checkboxref="treeRef"/><el-button type="primary" @click="handleCheckChange">获取选中数据</el-button><el-button type="primary" @click="all">全选</el-button><el-button type="primary" @click="reverse">反选</el-button>
</template><script setup>
import { ref } from 'vue';
const treeRef = ref(null)
const handleNodeClick = (data) => {console.log(data)
}const data = [{label: 'Level one 1',children: [{label: 'Level two 1-1',children: [{label: 'Level three 1-1-1',},],},],},{label: 'Level one 2',children: [{label: 'Level two 2-1',children: [{label: 'Level three 2-1-1',},],},{label: 'Level two 2-2',children: [{label: 'Level three 2-2-1',},],},],},{label: 'Level one 3',children: [{label: 'Level two 3-1',children: [{label: 'Level three 3-1-1',},],},{label: 'Level two 3-2',children: [{label: 'Level three 3-2-1',},],},],},
]const props= {children: 'children',label: 'label',
}
// 获取选中数据
const handleCheckChange = () => {// 方法一:获取key,此方法必须设置属性node-key!!!console.log(treeRef.value.getCheckedKeys(false))// 返回被选中的key,也就是id// 方法二:获取节点nodeconsole.log(treeRef.value.getCheckedNodes(false))// 返回被选中的对象
}// 用于判断是全选还是取消
let isAll = false;
// 全选
const all = () => {if (isAll) {treeRef.value.setCheckedKeys([], false)isAll = false} else {// 获取所以的id,如果有一维数组,则直接循环获取即可const nodeKeys = [];function getAllKeys(data) {data.forEach(node => {nodeKeys.push(node.id);if (node.children) {getAllKeys(node.children);}});}getAllKeys(treeData.value);treeRef.value.setCheckedKeys(nodeKeys, false)isAll = true}
}// 反选
const reverse = () => {// 1. 获取当前选中的keylet checked = treeRef.value.getCheckedKeys(false);// 2. 全部选中const nodeKeys = [];function getAllKeys(data) {data.forEach(node => {nodeKeys.push(node.id);if (node.children) {getAllKeys(node.children);}});}getAllKeys(treeData.value);treeRef.value.setCheckedKeys(nodeKeys, false)// 3. 将第一步获取的key节点设置为取消checked.forEach(val => {treeRef.value.setChecked(val, false)})
}
</script>
http://www.yayakq.cn/news/931163/

相关文章:

  • 网络优化怎么自己做网站成都景观设计公司排名
  • 网站所有分类中 点击箭头不出现下拉菜单wordpress PHP合并js
  • asp 英文企业网站 免费onenote wordpress
  • 被国家禁止访问的网站怎么打开在哪些网站做外贸好
  • 空间商网站做网站下载那个数据库好
  • 网站主页设计教程在线玩小游戏网页版
  • 在线网站建设培训班如何免费建立个人网站
  • 三五互联网站管理登录地址长春少儿编程培训机构
  • 广州seo建站WordPress首页站内搜索
  • 建设工程交易网站登录入口网址
  • 网站建设认知与理解公司网页设计多少钱
  • 网易那个网站可以做字幕wordpress加字体颜色
  • 政务公开网站建设情况2023新冠会二次爆发吗
  • 网页制作基础教程第2版电子教材网站优化标题
  • 网站建设与维护试题网站建设 落地页
  • 做网站项目流程yy直播下载免费下载
  • 公司网站制作有哪些注意事项网站标题title怎么写
  • 太原网站关键词排名传奇是网页游戏吗
  • 网站建设研究课题网页制作三合一第二版
  • 建设银行网站显示404上海网络推广专员
  • 专业集团门户网站建设方案wordpress hacker
  • 外贸建站与推广wordpress杂志
  • 济南集团网站建设费用广告网络推广
  • o2o网站建设新闻wordpress中文后台
  • 三亚网站开发Wordpress报表主题
  • 个人网站规划书广州网站制作在线
  • 做网站需要哪些参考文献网站如何留言
  • 营销型外贸网站建设软件建筑网站的功能模块有哪些
  • 个人网站可以做淘宝推广浙0577 icp网站建设
  • 青岛 正规网站空间绍兴seo计费