实现鼠标移动el-select下拉框的label上面显示出table悬浮窗

首先是对vue代码

实现思路就是在el-option里面放一个span来包裹el-popover,里面在放tabe实现悬浮表格

复制代码
<el-form-item label="原理图编号">
          <el-select v-model="data.number" placeholder="请选择" clearable multiple collapse-tags collapse-tags-tooltip popper-class="custom-header" style="width: 180px">
            <el-option v-for="item in numberList" :key="item.id" :value="item.number"
                       :label="item.number">
              <span style="">
                <el-popover placement="right" :width="500" trigger="hover">
                  <template #reference>
                    <span style="margin-right: 16px;cursor: pointer;">{{item.number}}</span>
                  </template>
                  <el-table :data="item.herderList">
                    <el-table-column property="drawingType" label="图纸类型" />
                    <el-table-column property="drawingName" label="图纸名称" />
                    <el-table-column property="interlockType" label="联锁类型" />
                    <el-table-column property="remark" label="备注" />
                  </el-table>
                </el-popover>
              </span>
            </el-option>
          </el-select>
        </el-form-item>

需要注意每个悬浮窗显示的是单个标签对应的数据,所以我这里在获取到数据后又将每个对象里面的其他数据拆分出来放到一个数组字段中,就是item.herderList。

方法如下

复制代码
//查询原理图编号数据
function getYltDataList(){
  selectCircuitousPhilosophyList({
    devType: 'xhj'
  }).then(result => {
    numberList.value = result.data
    console.log(numberList.value)
    for (let i = 0; i < numberList.value.length; i++) {
      let row = numberList.value[i]
      //在这里把单个对象的其他数据添加到一个数组中,这个数组属于这个对象
      row.herderList = [{drawingName: row.drawingName,drawingType: row.drawingType,interlockType: row.interlockType,remark: row.remark }]
    }
  })
}

最后附上效果图

相关推荐
RPGMZ8 小时前
RPGMakerMZ 地图存档点制作 标题继续游戏直接读取存档
开发语言·javascript·游戏·游戏引擎·rpgmz·rpgmakermz
有一个好名字9 小时前
Agent Loop —— 一切从那个 while 循环开始
前端·javascript·chrome
EF@蛐蛐堂9 小时前
【js】浏览器滚动条优化组件OverlayScrollbars
开发语言·javascript·ecmascript
辰同学ovo10 小时前
从全局登录状态管理学习 Redux
前端·javascript·学习·react.js
爱看书的小沐10 小时前
【小沐杂货铺】基于Three.js绘制三维艺术画廊3DArtGallery (Three.js,WebGL)
javascript·3d·webgl·three.js·babylon.js·三维画廊
ZC跨境爬虫10 小时前
跟着 MDN 学 HTML day_12:(HTML网页图片嵌入)
前端·javascript·css·ui·html
是上好佳佳佳呀11 小时前
【前端(十二)】JavaScript 函数与对象笔记
前端·javascript·笔记
你真的快乐吗11 小时前
@fuxishi/svg-icon:一个 Vue 3 svg本地图标+iconify图标组件库,让图标管理不再头疼
前端·vue.js·typescript
Rkgua11 小时前
ESModule和Commonjs模块的区别
前端·javascript
江南十四行11 小时前
AI Agent应用类型及Function Calling开发实战(三)
服务器·前端·javascript