Vue 多选下拉框值每组名字的只能选一个

编程入门 行业动态 更新时间:2024-10-20 09:25:19

Vue <a href=https://www.elefans.com/category/jswz/34/1749019.html style=多选下拉框值每组名字的只能选一个"/>

Vue 多选下拉框值每组名字的只能选一个

先普及一下,下拉框怎么实现多选

// 下拉框实现多选 select标签加一个 multiple 即可 
<el-select v-model="value1" multiple placeholder="请选择"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select>

比如,
下拉框值:
测试流程1环节1,测试流程1环节2,
测试流程2环节1,测试流程2环节1
多选的时候,每个流程选项选择的时候只能选择一个值,比如选择流程1环节1,再选择流程1环节2,那多选框选中值只保留展示流程1环节2,不保留流程1环节1,选择流程2环节1,则多选框选中值就为“流程1环节2”,“流程2环节1”

// 界面组件先加上change事件
<el-select v-model="value1" multiple placeholder="请选择"
@change="changeValue"><el-optionv-for="item in options":key="item.value":label="item.label":value="item.value"></el-option></el-select>
//js事件changeValue(val){// 获得所有下拉框中的值let allSelect = this.options;// 已经选中的值let a = this.value1;//选中两个值才开始比较if (a.length > 1) {let nameStr;for (let i = 0; i < allSelect.length; i++) {let item = allSelect[i];if (item.value=== val[val.length - 1]) {// 得到选中的值和全部的值匹配得到相对应的name值let codeName = item.label;// 截取前5个字nameStr = codeName.substring(0, 5);if (!utils.isEmpty(nameStr)) {break;}}}//如果截取到值,开始循环选中的值,作比较if (!utils.isEmpty(nameStr)) {for (let j = 0; j < a.length - 1; j++) {let selectItem = a[j];allSelect.forEach((allItem) => {if (selectItem === allItem.value) {let name = allItem.lable.substring(0, 5);if (nameStr=== name) {this.value1.splice(j, 1);}}});}}}},

更多推荐

Vue 多选下拉框值每组名字的只能选一个

本文发布于:2023-12-05 19:12:46,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1665051.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:多选   每组   名字   下拉框   Vue

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!