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

element select + tree

element select + tree的使用

在这里插入图片描述

<template slot="action1" slot-scope="text, record, index"><el-select v-model="record.tagValue" multiple placeholder="请选择":filter-method="(e) => filterTree(e, index)" filterable @remove-tag="(e) => removeTag(e, index)"><el-option><template slot="default"><div><el-tree :data="record.option" show-checkbox node-key="id":props="defaultProps" :ref="'tree' + index":filter-node-method="filterNode"@check-change="(data, isSelect, childSelect) => handleCurrentChange(data, isSelect, childSelect, index)"><template #default="{ node }"><div v-html='highlightName(node,searchVal)'></div></template></el-tree></div></template></el-option></el-select>
</template>
// 搜索
filterNode(value, data) {if (!value) return true;return data.name.indexOf(value) !== -1;
},
filterTree(val, index) {this.searchVal = vallet tree = 'tree' + indexthis.$refs[tree].filter(this.searchVal);
},
// 搜索字体高亮
highlightName (item,val) {let textHtml = "";if (val) {let highlightTextList = val.split("#~~~~");let newName = item.data.name;highlightTextList.forEach((text) => {if (item.data.name.indexOf(text) > -1) {newName = newName.replaceAll(text,`<span class="minddleContent">${text}</span>`);}});textHtml += newName;} else {textHtml += item.data.name;}return textHtml;
},
// 获取知识树选中值
handleCurrentChange(data, isSelect, childSelect, index) {let tree = 'tree' + indexlet nodes = this.$refs[tree].getCheckedNodes()let arrId = []if (nodes.length > 0) {nodes.map(item => {arrId.push(item.id)})}let listData = this.dataSource[index].optionlet listText = this.getStructuredKeys(arrId, nodes, listData)this.dataSource[index].tagValue = listText.map(item => {return item.name})
},
// 知识树选中值递归,选中子集只展示子集,父级全选只展示父级
getStructuredKeys(keys, list, listData) {const result = [];const processNode = (nodes) => {nodes.forEach((node) => {if (keys.includes(node.id)) {result.push(node);} else {if (node.children) {const childKeys = this.getStructuredKeys(keys, list, node.children);console.log(childKeys)if (childKeys.length > 0) {result.push(...childKeys);}}}});};processNode(listData);return this.sortSelectedItems(result, list);
},
// 选中项排序
sortSelectedItems(result, list) {const SelectedItems = result.map(v => v.id)const sortList = [];list.filter(item => {if (SelectedItems.includes(item.id)) {sortList.push(item);}})return sortList
},
// 移除select-tree选中值
removeTag(tag, index) {let tree = 'tree' + indexconst checkNodes = this.$refs[tree].getCheckedNodes();const newCheckNodes = checkNodes.filter(item => {return item.name !== tag})const removeIds = [];const removeNodes = checkNodes.filter(item => {return item.name === tag});this.getNodeChildIds(removeNodes, removeIds)const checkIds = []newCheckNodes.forEach(item => {if (!removeIds.includes(item.id)) {checkIds.push(item.id);}})this.$refs[tree].setCheckedKeys(checkIds)
},
// 移除选中递归
getNodeChildIds(nodes, result) {nodes.forEach(item => {result.push(item.id)if (item.children && item.children.length > 0) {this.getNodeChildIds(item.children, result)}})
},

相关文章:

element select + tree

element select tree的使用 <template slot"action1" slot-scope"text, record, index"><el-select v-model"record.tagValue" multiple placeholder"请选择":filter-method"(e) > filterTree(e, index)" filt…...

LeetCode之矩阵

36. 有效的数独 class Solution {// 方法 isValidSudoku 接收一个字符二维数组 board&#xff0c;表示数独棋盘&#xff0c;返回是否有效public boolean isValidSudoku(char[][] board) {// 创建三个二维数组来记录每一行、列和子框中数字的出现次数int[][] rows new int[9][…...

Windows文件系统介绍与基本概念解析

1. 引言 1.1 什么是文件系统 文件系统是一种管理和组织计算机存储设备上文件和文件夹的方法。它提供了文件的创建、读取、写入、删除等操作,并负责文件在存储设备上的存储和访问。 在操作系统中,文件系统是一个重要的组成部分,它使得用户可以方便地使用计算机存储设备来存…...

使用 Apache POI 实现 Java Word 模板占位符替换功能

使用 Apache POI 实现 Java Word 模板占位符替换功能 在日常开发中&#xff0c;我们经常会遇到生成 Word 文档的需求&#xff0c;特别是在需要从模板导出 Word 文件时&#xff0c;比如生成合同、报告等。通过使用模板&#xff0c;开发者可以减少重复的工作&#xff0c;将预定义…...

第三届人工智能与智能信息处理国际学术会议(AIIIP 2024)

目录 大会介绍 基本信息 合作单位 主讲嘉宾 会议组委 征文主题 ​ 参会方式 会议日程 中国-天津 | 2024年10月25-27日 | 会议官网&#xff1a;www.iiip.net 大会介绍 第三届人工智能与智能信息处理国际学术会议&#xff08;AIIIP 2024&#xff09;将于202…...

【动手学深度学习】04 数据操作 + 数据预处理(个人向笔记)

数据操作 N维数组是机器学习和神经网络的主要数据结构其中 2-d 矩阵中每一行表示每一行表示一个样本 当维度来到三维的时候则可以表示成一张图片&#xff0c;再加一维就可以变成多张图片&#xff0c;再加一维则可以变成一个视频 访问元素 冒号表示从冒号左边的元素到冒号右…...

本地搭建 Whisper 语音识别模型

Whisper 是由 OpenAI 开发的一款强大的语音识别模型&#xff0c;具有出色的多语言处理能力。搭建和使用 Whisper 模型可以帮助您将音频内容转换为文本&#xff0c;这在语音转写、语音助手、字幕生成等应用中都具有广泛的用途。本指南将对如何在本地环境中搭建 Whisper 语音识别…...

数据集成-缝合一套数据仓库Infra的臆想

一、数据集成当前困境 目前数据集成基础设施建设仅一个单一数据库&#xff0c;无法很好支持上层应用的建设步骤&#xff0c;继续采用当前设施跟随产品的策略&#xff0c;数据产品开发受限巨大&#xff0c;从目前实施的几个产品看&#xff0c;存在以下主要问题&#xff1a; 功能…...

运营有哪几种?

运营又有很多类&#xff0c;分为&#xff1a;内容运营、用户运营、活动运营、产品运营、新媒体运营、社群运营、电商运营、短视频运营 1.内容运营&#xff1a; 做内容提升各类数据&#xff0c;比如内容的数量/浏览数量/互动数传播数等。 适合人群&#xff1a;适合喜欢看文章热…...

Android视频编辑:利用FFmpeg实现高级功能

在移动设备上进行视频编辑的需求日益增长&#xff0c;用户期望能够在智能手机或平板电脑上轻松地编辑视频&#xff0c;以满足社交媒体分享或个人存档的需求。Android平台因其广泛的用户基础和开放的生态系统&#xff0c;成为视频编辑应用的理想选择。FFmpeg&#xff0c;作为一个…...

图片无损缩放PhotoZoom Pro 9.0.2绿色版 +免费赠送PhotoZoom激活优惠代码

PhotoZoom Pro 9.0.2 是一款专业的图片无损缩放软件&#xff0c;该软件采用了 benvista s-spline 独特技术&#xff0c;增强了对图像格式的支持&#xff0c;多处理器支持&#xff0c;GPU 加速&#xff0c;win10和 Photoshop CC 支持。带来一流的数字图形扩展与缩减技术。该软件…...

tekton pipelineresources

PipelineResource 代表着一系列的资源&#xff0c;主要承担作为 Task 的输入或者输出的作用。它有以下几种类型&#xff1a; git&#xff1a;代表一个 git 仓库&#xff0c;包含了需要被构建的源代码。将 git 资源作为 Task 的 Input&#xff0c;会自动 clone 此 git 仓库。pu…...

OFDM系统PAPR算法的MATLAB仿真,对比SLM,PTS以及CAF,对比不同傅里叶变换长度

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1、选择映射&#xff08;SLM&#xff09; 4.2 相位截断星座图&#xff08;PTS&#xff09; 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 2.算法运行软件版本 mat…...

常见概念 -- 光回波损耗

什么是回波损耗 回波损耗&#xff0c;又称为反射损耗&#xff0c;当高速信号进入或退出光纤的某个部分&#xff08;例如光纤连接器&#xff09;&#xff0c;不连续和阻抗不匹配会引起反射&#xff0c;这就是光纤回波损耗。器件的回波损耗Return Loss(RL)是光信号的输入端口的反…...

uni-app环境搭建

目录 一、下载HBuilder X: 二、创建项目 1、通过HBuliderX创建 2、通过vue-cli命令行创建 三、app真机运行 1、真机运行: 2、打包发行 四、微信小程序调试 1、下载微信小程序开发者工具 2、运行项目&#xff1a;运行---> 运行到小程序模拟器----> 微信开发者工…...

数据结构 栈 队列

系统栈&#xff1a; 保护局部变量 函数的形参和返回值 函数的调用关系&#xff08;保护现场&#xff0c;恢复现场操作&#xff0c;遵循先进后出&#xff0c;后进先出&#xff09; 数据结构栈&#xff08;顺序栈&#xff0c;链式栈&#xff09;&#xff1a; 同样遵遵循先进…...

嵌入式学习路线+嵌入式校招建议 嵌入式学习面试规划

随着物联网、人工智能以及5G等技术的迅猛发展&#xff0c;嵌入式系统的需求逐渐增多。作为毕业生&#xff0c;如何制定一个合理的学习路线&#xff0c;以确保在找工作、参加校招时有足够的竞争力&#xff0c;是非常重要的。我会为你提供一个更加详细、系统的学习路线建议&#…...

服务器深度学习环境配置

学校提供的服务器&#xff0c;参考意见比较低 目录 公有云操作云主机操作系统修改&#xff1a; xshell连接深度学习环境配置显卡驱动检查安装检查 CUDA检查CUDA下载配置环境变量检查 conda 公有云操作 打开控制中心 节点选择 山东-青岛20 打开弹性云主机 云主机 系统已经默认…...

使用 Parallel 类进行多线程编码(下)

2.Parallel.ForEach() 的使用 从 ForEach() 这个名字可以看出该方法是用来遍历泛型集合的&#xff0c;新建一个 ASP.NET Core Web应用的项目&#xff0c;如下&#xff1a; 在 Index.cshtml.cs 文件中增加一个 UserInfo.cs 的类&#xff0c;代码如下&#xff1a; public class U…...

基于微信小程序+Java+SSM+Vue+MySQL的药店管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSSMVueMySQL的药店管理系统【附源码文档…...

C#使用MQTT(一):MQTT服务端

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09; 即时通讯协议&#xff0c; 开发商 IBM MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上&#xff0c;是为硬件性能低下的远程设备以及网络状…...

AD原理图update为pcb

首先&#xff0c;要在自己的项目下面创建好原理图和PCB&#xff0c;记得保存&#xff01;&#xff01;&#xff01; 点击设计>update 更新成功&#xff01;...

应用海外仓系统后,可以改善哪些海外仓的核心业务流程?

随着跨境电商的快速发展&#xff0c;海外仓作为物流的重要环节&#xff0c;其运营效率直接影响到企业的市场竞争力。应用海外仓系统&#xff08;WMS&#xff09;可以有效改善海外仓的核心业务流程&#xff0c;以下将详细介绍四大核心流程的优化措施。 一、货物接收入库流程的改…...

SQL进阶技巧:截止当前批次前的批次量与订单量 | 移动窗口问题

目录 0 场景描述 1 数据准备 2 问题分析 3 小结 0 场景描述 表A有如下字段,user id(用户ID),batch id(批次ID),order id(订单ID),create time(创建时间),同一个用户ID下有多个批次,同一个批次下有多个订单ID,相同批次ID的创建时间是相同的,创建时间精确到了秒。 统计,截…...

C#中的Graphics类和SetQuality()自定义方法

在 C# 中&#xff0c;Graphics 类是 System.Drawing 命名空间的一部分&#xff0c;它提供了一组方法和属性&#xff0c;用于在 Windows Forms 应用程序中进行二维绘图。Graphics 对象可以绘制文本、线条、曲线、形状和图像&#xff0c;并可以对它们进行变换和剪辑。 Graphics …...

圣诞节:白酒与西式料理的异国风情

随着冬日的脚步渐近&#xff0c;圣诞的钟声即将敲响。在这个充满异国情调和温馨氛围的节日里&#xff0c;一场中西合璧的美食盛宴悄然上演。豪迈白酒&#xff08;HOMANLISM&#xff09;与西式料理的碰撞&#xff0c;不仅为圣诞餐桌增添了几分不同的韵味&#xff0c;更让人们在这…...

2.ChatGPT的发展历程:从GPT-1到GPT-4(2/10)

引言 在人工智能领域&#xff0c;自然语言处理&#xff08;NLP&#xff09;是连接人类与机器的重要桥梁。随着技术的不断进步&#xff0c;我们见证了从简单的文本分析到复杂的语言理解的转变。ChatGPT&#xff0c;作为自然语言处理领域的一个里程碑&#xff0c;其发展历程不仅…...

yjs01——机器学习的过程

ps&#xff1a;换了阿婆主重新看机器学习 机器学习的过程&#xff1a; 1.获取数据——2.数据基本处理——>3.特征工程——>4.机器学习&#xff08;模型训练&#xff09;—>模型评估 获取数据&#xff1a; 1.专有名词&#xff1a; 1.样本&#xff1a;一行数据是一个样本…...

Git工作流程

git 工作流程 克隆或同步远程仓库 使用git clone命令将本仓库完全镜像一份至本地 使用git pull命令将远程仓库代码同步到本地新建或修改代码文件后&#xff0c;将代码提交到暂存区;(git add filename&#xff09;将暂存区域的文件提交到本地git仓库。(git commit filename -m …...

Qt-QWidget的font属性(18)

目录 描述 相关API 使用 使用Qt Designer设置字体 使用纯代码设置字体 描述 这个是用来设置字体样式的 相关API 使用 我们创建一个新的项目 使用Qt Designer设置字体 使用纯代码设置字体 相比于上面使用Qt Designer&#xff0c;用代码来实现就要灵活的多&#xff0c;主…...