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

el-select的下拉选择框插入el-checkbox

el-check注意这里要使用model-value绑定数据

<el-select
  v-model="selectDevice"
  multiple
  collapse-tags
  :multiple-limit="5"
  style="width: 200px"
  popper-class="select-popover-class"
>
  <el-option
    v-for="item in deviceList"
    :key="item.value"
    :label="item.label"
    :value="item.value"
  >
    <el-checkbox :model-value="selectDevice.includes(item.value)">
      {{ item.label }}
    </el-checkbox>
  </el-option>
</el-select>

css样式处理:

/* 控制全选按钮样式 */
.select-popover-class .el-scrollbar__view > .el-checkbox {
	padding: 5px 20px;
}

/* 取消多选框触发事件 */
.select-popover-class .el-scrollbar__view > li .el-checkbox {
	pointer-events: none;
}

/* 隐藏多选框选中勾选样式 √ */
.select-popover-class .el-scrollbar__view > li::after {
	display: none;
}

完整代码:

<template>
  <div>
    <el-select
      v-model="selectDevice"
      multiple
      collapse-tags
      :multiple-limit="5"
      style="width: 200px"
      popper-class="select-popover-class"
    >
      <el-option
        v-for="item in deviceList"
        :key="item.value"
        :label="item.label"
        :value="item.value"
      >
        <el-checkbox :model-value="selectDevice.includes(item.value)">
          {{ item.label }}
        </el-checkbox>
      </el-option>
    </el-select>
  </div>
</template>

<script setup lang="ts">
import { ref } from "vue";

const selectDevice = ref<Array<string>>([]);
const deviceList = ref([
  {
    value: "1",
    label: "设备1",
  },
  {
    value: "2",
    label: "设备2",
  },
  {
    value: "3",
    label: "设备3",
  },
  {
    value: "4",
    label: "设备4",
  },
]);
</script>

<style lang="scss" scoped>
/* 控制全选按钮样式 */
.select-popover-class .el-scrollbar__view > .el-checkbox {
  padding: 5px 20px;
}

/* 取消多选框触发事件 */
.select-popover-class .el-scrollbar__view > li .el-checkbox {
  pointer-events: none;
}

/* 隐藏多选框选中勾选样式 √ */
.select-popover-class .el-scrollbar__view > li::after {
  display: none;
}
</style>

相关文章:

  • 2025年装修装饰施工员考试题型及题目分享
  • 端到端自动驾驶——cnn网络搭建
  • Docker安装Postgres_16数据库
  • L1-031 到底是不是太胖了
  • Redis是什么?如何使用Redis进行缓存操作?
  • 【鸿蒙 NEXT】HarmonyOS 容器
  • CSK linux内网靶场
  • Day33 第八章 贪心算法 part06
  • Spring Boot的启动流程
  • 【软考-架构】2.1、操作系统概述-进程管理-同步互斥
  • gradle libs.versions.toml文件
  • 【NLP 30、文本匹配任务 —— 传统机器学习算法】
  • android12 屏幕亮度控制修改为线性变化
  • Apache Shiro 反序列化漏洞全解析(Shiro-550 Shiro-721)
  • SQL 全面指南:从基础语法到高级查询与权限控制
  • C++运算符重载的学习笔记
  • 初阶数据结构习题【6】(3顺序表和链表)—— 206. 反转链表
  • 大模型——基于 DIFY 的自动化数据分析实战
  • 文件魔数与其他特征:揭开文件识别的神秘面纱
  • 深入理解指针与回调函数:从基础到实践
  • 光大华夏:近代中国私立大学遥不可及的梦想
  • 圆桌丨中俄权威专家详解:两国携手维护战后国际秩序,捍卫国际公平正义
  • 江苏省泰州市委常委、宣传部部长刘霞接受审查调查
  • 外交部:应美方请求举行贸易代表会谈,中方反对美滥施关税立场没有变化
  • 陈雯出任外交部离退休干部局局长,此前为外交部办公厅副主任
  • 印官员称巴基斯坦在克什米尔实控线附近开火已致7死38伤