Element UI给每个el-option添加tooltip提示

<template>
  <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
        <el-tooltip placement="top">
          <div slot="content">{{ item.label }}</div>
          <div>{{ item.label }}</div>
        </el-tooltip>
    </el-option>
  </el-select>
</template>

<script>
  export default {
    data() {
      return {
        options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        }, {
          value: '选项4',
          label: '龙须面'
        }, {
          value: '选项5',
          label: '北京烤鸭'
        }],
        value: ''
      }
    }
  }
</script>

### 自定义 `el-select` 组件中的 `collapse-tags-tooltip` 样式 为了自定义 `Element UI` 中 `el-select` 组件带有 `collapse-tags-tooltip` 功能的弹出框样式,可以通过覆盖默认 CSS 类来实现。具体来说,可以调整 `.el-popper` 和其他关联类的选择器优先级以应用所需的样式。 #### 修改弹出框的最大宽度 如果希望改变展开详情时弹出框的最大宽度,可以在项目中加入如下全局或局部样式: ```css /* 设置最大宽度 */ :deep(.el-popper.is-customized) { max-width: 500px; } ``` 此代码片段利用了 Vue 的作用域样式特性,并通过`:deep()`伪类穿透组件内部样式[^3]。 #### 调整标签显示行为 对于解决因选项过多而导致的内容换行问题,可采用额外的CSS规则确保标签在同一行内排列而不发生折行现象: ```css .my-select >>> .el-select__tags > span { display: flex; } .my-select >>> .el-select__tags span.el-tag:nth-child(1){ width: calc(100% - 40px); } ``` 上述代码使得第一个标签占据大部分空间,其余标签则紧随其后保持单行布局[^2]。 #### 完整示例 结合以上两点,在实际开发环境中可能看起来像这样: ```html <template> <div class="custom-select-container"> <!-- Tooltip包裹Select --> <el-tooltip class="box-item" effect="dark" :content="(contForm.jdxwList).join(',')" placement="top-start" > <el-select v-model="contForm.jdxwList" clearable disabled multiple collapse-tags collapse-tags-tooltip class="my-select is-customized" > <el-option v-for="item in extremeBehaviorList" :key="item.dictKey" :label="item.dictValue" :value="item.dictValue" /> </el-select> </el-tooltip> </div> </template> <style scoped lang="scss"> .custom-select-container { /* 配置tooltip popper样式 */ :deep(.el-popper.is-customized) { max-width: 500px !important; /* 使用!important提高优先级 */ /* 更多个性化配置... */ } /* 解决换行问题 */ .my-select >>> .el-select__tags > span { display: flex; } .my-select >>> .el-select__tags span.el-tag:nth-child(1){ width: calc(100% - 40px); } } </style> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值