news 2026/10/5 2:27:04

第7节:多选模式、自定义选项渲染、受控弹窗显隐

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第7节:多选模式、自定义选项渲染、受控弹窗显隐

第7节:多选模式、自定义选项渲染、受控弹窗显隐

本节讲三个高频进阶点:多选标签、弹窗里自定义选项长什么样、用代码主动打开 / 关闭下拉弹窗。

核心知识点

  1. multiple:开启多选,选中项以 tag 标签形式展示
  2. collapse-tags:多选时折叠标签,只显示第一个 + “+N”
  3. el-option默认插槽:自定义每一项的渲染内容(图标、状态、描述文字)
  4. v-model:visible:受控弹窗显隐,用代码主动控制弹窗打开 / 关闭(替代手动点)

完整可测试代码

<template> <div class="container"> <h4>多选 + 自定义选项 + 受控弹窗</h4> <el-select v-model="selectedList" multiple collapse-tags collapse-tags-tooltip :visible="popVisible" placeholder="请选择技术栈(可多选)" style="width: 360px" @visible-change="(v) => popVisible = v" > <!-- 自定义选项内容:图标 + 名称 + 描述 --> <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" > <div class="option-row"> <span class="dot" :style="{ background: item.color }"></span> <span class="name">{{ item.label }}</span> <span class="desc">{{ item.desc }}</span> </div> </el-option> </el-select> <div style="margin-top: 16px"> <el-button size="small" @click="popVisible = true">代码打开弹窗</el-button> <el-button size="small" @click="popVisible = false">代码关闭弹窗</el-button> <el-button size="small" @click="selectedList = ['vue', 'go']">代码默认选中两项</el-button> </div> <p style="margin-top: 12px">选中值:{{ selectedList }}</p> </div> </template> <script setup> import { ref } from 'vue' const selectedList = ref([]) const popVisible = ref(false) const options = ref([ { label: 'Vue', value: 'vue', desc: '渐进式框架', color: '#42b883' }, { label: 'React', value: 'react', desc: 'UI 库', color: '#61dafb' }, { label: 'Angular', value: 'angular', desc: '全功能框架', color: '#dd0031' }, { label: 'Node.js', value: 'node', desc: '服务端 JS', color: '#68a063' }, { label: 'Go', value: 'go', desc: '云原生首选', color: '#00add8' }, { label: 'Python', value: 'python', desc: 'AI 首选', color: '#ffd43b' }, ]) </script> <style scoped> .container { padding: 20px; } .option-row { display: flex; align-items: center; gap: 8px; width: 100%; } .dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; } .name { flex: 1; } .desc { font-size: 12px; color: #909399; } </style>

测试要点

  1. 点开下拉,每个选项是自定义渲染:左侧彩色圆点 + 名称 + 灰色描述文字
  2. 多选几个选项,输入框里标签折叠成 “第一个 + 2”,鼠标悬停 +2 能看到完整标签(collapse-tags-tooltip)
  3. 点 “代码打开弹窗” 按钮,弹窗自动弹出;点 “代码关闭弹窗” 自动收起
  4. 点 “代码默认选中两项”,selectedList被赋值,输入框同步显示对应标签

业务坑提醒

  • 自定义选项渲染时,label必须保留:它负责选中后输入框显示的文字和搜索匹配,插槽只改弹窗里的长相
  • v-model:visible受控后,一定要监听@visible-change把用户手动开合的状态同步回来,否则会 “点不开 / 关不掉”

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/5 2:26:21

全能 AI 智能体助手怎么选?鲲穹 KQBOT 功能实测与横向对比

在日常办公、内容创作、代码编写等场景中&#xff0c;很多用户需要一款可以同时处理多种任务的 AI 助手。普通对话大模型大多只擅长文本问答&#xff0c;想要完成文件处理、图片生成、自动化任务&#xff0c;往往需要切换多个平台。市面上多功能 AI 智能体工具逐渐增多&#xf…

作者头像 李华
网站建设 2026/10/5 2:26:18

电子信息前言技术丛书

1、集成电路版图基础 实用指南 2、实用MATLAB深度学习 3、线性代数与数据学习 4、模拟集成电路设计精粹 5、室内地理定位科学与技术——在智能世界和物联网的应用(2021.05) 6、天线及微波可调材料&#xff08;电子信息前沿技术丛书&#xff09;--2026.04 7、人工智能基础&#…

作者头像 李华
网站建设 2026/10/5 2:26:16

Skill大模型编程:小白程序员必收藏的AI行为设计指南

本文详细阐述了AI Agent Skill系统的设计理念与工程实践&#xff0c;强调将Skill视为“行为编程”而非文档&#xff0c;通过结构化设计&#xff08;YAMLMarkdown、DOT流程图、检查表&#xff09;和严格约束机制规范AI代理行为。文章探讨了Token经济策略、单向管道工作流编排、子…

作者头像 李华
网站建设 2026/10/5 2:24:07

Android `dumpsys` 命令实战指南:系统服务诊断信息的采集与筛选

文档教程知识库 【免费下载链接】tldr Collaborative cheatsheets for console commands &#x1f4da;. 项目地址&#xff1a; https://gitcode.com/GitHub_Trending/tl/tldr 点击查看 免费下载 dumpsys 是 Android 平台内置的系统服务诊断工具&#xff0c;用于一次性导出设备…

作者头像 李华
网站建设 2026/10/5 2:21:34

TBOX信息安全系列10设计篇-安全升级方案

第9篇讲了"安全启动"——锁住"启动时跑的一定是可信固件"。但固件总有要更新的时候&#xff1a;修漏洞、加功能、适配新法规。怎么保证"升级时装的也一定是可信固件"&#xff1f;这就是安全升级&#xff08;Secure Update&#xff09;的事。 攻击…

作者头像 李华