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

VUE 带有搜索功能的穿梭框(简单demo)

一、template/

组件代码

  <el-dialog :title="title" :visible.sync="dialogVisible" width="60%" :before-close="handleClose" class="custom-dialog-line" ><div style="text-align: center ; width: 100%; height: 450px;"><el-transferfilterable:filter-method="filterMethod"filter-placeholder="请输入搜索名称"v-model="valueList"@change="handleChange":data="lineData"><el-button class="transfer-footer" slot="right-footer" size="small" @click="conformsLine">确定</el-button></el-transfer></div></el-dialog>
data(){return {lineData:[],dialogVisible: false,title: '申请审批单-变更',valueList: [],filterMethod(query, item) {return item.cityLine.indexOf(query) > -1;},cities: [], cityLine: [], }},

穿梭框数据可定义在前端也可由后端接口获取,以下示例为后端接口获取
cities: [],
cityLine: [],

searchStationInfo(){this.lineData = [];let param = {lineName: this.lineName} // 过滤条件queryStation(param).then(res=>{if(res.code === '200'){this.cities = res.data.nameList;this.cityLine = res.data.lineList;this.cities.forEach((city, index) => {this.lineData.push({label: city,key: index,cityLine: this.cityLine[index]});});}})
},
handleChange(value, direction, movedKeys) {
// 此处可处理被刷选的数据逻辑。
},
handleClose(){this.$emit("close", false);
},

补充组件样式:样式示例,可自行调整

/deep/ .el-transfer-panel {border: 1px solid #EBEEF5;border-radius: 4px;overflow: hidden;background: #FFF;display: inline-block;vertical-align: middle;width: 372px;max-height: 100%;box-sizing: border-box;position: relative;
}
/deep/ .el-transfer-panel__list.is-filterable {width: 90%;height: 202px;padding-top: 0;
}
/deep/ .el-transfer-panel__item.el-checkbox .el-checkbox__label {width: 300px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;display: block;box-sizing: border-box;padding-left: 24px;line-height: 30px;
}
/deep/ .el-checkbox {color: #606266;font-weight: 500;font-size: 14px;cursor: pointer;-webkit-user-select: none;-moz-user-select: none;user-select: none;margin-right: 30px;width: 300px;
}
/deep/ .el-transfer-panel__item.el-checkbox .el-checkbox__label {width: 315px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;display: block;box-sizing: border-box;padding-left: 24px;line-height: 30px;
}
/deep/ .el-checkbox-group {text-align: left;
}/deep/ .el-checkbox {margin-left: 15px;margin-right: 25px;width: 240px;padding-left: 0px;text-align: left;  //这个很关键,否则每一行都是居中状态
}
/deep/ .el-transfer-panel__list.is-filterable {width: 90%;height: 249px;padding-top: 0;
}
/deep/  .el-transfer-panel__body{height: 350px;
}
http://www.dtcms.com/a/270045.html

相关文章:

  • 【DOCKER】-2 docker基础
  • 科技云报到:云智融合双buff,AI已开挂
  • 数据结构-顺序表-拿硬币
  • Effective Python 条款5 用辅助函数取代复杂的表达式
  • 数据结构:位图
  • 【保姆级目标检测教程】Ubuntu 20.04 部署 YOLOv13 全流程(附训练/推理代码)
  • Rust DevOps框架管理实例
  • 基于SpringBoot+Vue的非遗文化传承管理系统(websocket即时通讯、协同过滤算法、支付宝沙盒支付、可分享链接、功能量非常大)
  • 实时音视频通过UDP打洞实现P2P优先通信
  • C++--AVL树
  • 第一章、RNN(循环神经网络)
  • 怪物机制分析(有限状态机、编辑器可视化、巡逻机制)
  • Android UI 组件系列(四):EditText 使用详解与输入限制
  • 后台设计指南:系统架构、交互规范与工具实战全流程解析
  • 布隆过滤器+缓存穿透
  • 智能推荐社交分享小程序(websocket即时通讯、协同过滤算法、时间衰减因子模型、热度得分算法)
  • 【论文阅读】Improving the Diffusability of Autoencoders
  • Word2Vec模型详解:CBOW与Skip-gram
  • 结构化数据格式解析:JSON 与 XML 的技术应用与实践
  • Serverless 数据库来了?无服务器数据库 vs 传统数据库有何不同?
  • MySQL索引面试问题梳理
  • 华为eNSP防火墙实验(包含详细步骤)
  • Spring AI:检索增强生成(RAG)
  • SystemVerilog 断言重复操作符和序列操作符
  • 用 Spring Boot + Redis 实现哔哩哔哩弹幕系统(上篇博客改进版)
  • 2025年INS SCI2区,灵活交叉变异灰狼算法GWO_C/M+集群任务调度,深度解析+性能实测
  • 短视频电商APP源码开发技术栈解析:音视频、商品链路与互动设计
  • Web前端:not(否定伪类选择器)
  • 高效学习之一篇搞定分布式管理系统Git !
  • 编译安装Python 3.9(Linux Centos 7)