vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > el-table-column el-popover使用

el-table-column叠加el-popover使用示例小结

作者:微光无限

el-table-column有一列展示多个tag信息,实现点击tag展示tag信息以及tag对应的详细信息,本文通过示例代码介绍el-table-column叠加el-popover使用示例小结,感兴趣的朋友跟随小编一起看看吧

需求:el-table-column有一列展示多个tag信息,实现点击tag展示tag信息以及tag对应的详细信息

table的数据格式

data:[
	{
		...,
		isPopoverVisible:false,
	},
	{
		...,
		isPopoverVisible:false,
	},
	...
]

写法:

<el-table-column label="配置信息" prop="listName">
        <template slot-scope="scope">
          <el-popover
            placement="bottom"
            title="配置信息以及对应详情"
            trigger="manual"
            v-model="scope.row.isPopoverVisible"
          >
            <el-cascader-panel :options="scope.row.CopyList"></el-cascader-panel>
            <template slot="reference">
              <div @click="scope.row.isPopoverVisible = !scope.row.isPopoverVisible" style="cursor: pointer;">
                <div style="display: inline-block;white-space: nowrap; overflow: hidden;text-overflow: ellipsis;width: 200px;">
                  <el-tag type="info" style="margin-right: 5px;" v-for="item in scope.row.tableList" :key="item.index">{{ item.dbName }}</el-tag>
                </div>
              </div>
            </template>
          </el-popover>
        </template>
</el-table-column>

实现了鼠标控制悬浮数据的显隐

扩展:el-table某一列嵌套使用el-popover,使用click触发,导致页面下拉框组件无法触发弹框关闭(解决办法)

在弹框触发的方法里加上document.body.click() 即可
尝试了很多其他的方法都没用,只有这个解决了
完整代码:

<el-select
@change="sourceChange"
clearable
>
  <el-option
    v-for="option in list1"
    :key="option.code"
    :label="option.name"
    :value="option.code"
  ></el-option>
</el-select>
sourceChange(){
document.body.click()//重点
}
<el-table-column>
<template slot-scope="scope">
            <el-popover
            width="450"
            :ref="`popover-${scope.row.id}`"
            trigger="click"
            @show="checkAllowed(scope.row)">
              <span slot="reference" style="cursor: pointer;">
                {{scope.row.name}}
              </span>
              <el-table
                :data="List"
                style="width: 100%"
                row-key="id"
                height="214px"
              >
                <el-table-column
                  label="序号"
                  width="45"
                  type="index"
                ></el-table-column>
               </el-table>
            </el-popover>
          </template>
</el-table-column>

到此这篇关于el-table-column叠加el-popover使用的文章就介绍到这了,更多相关el-table-column叠加el-popover使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文