vue怎么实现element表格里表头信息提示功能?

需求

如图:在element表格操做一栏须要添加提示功能javascript

实现效果

如图:鼠标浮上去弹出tipscss

解决方案

一、编写组件

promptMessage.vue文件里面实现html

<template>
<!-- 处理element表格表头文字提示特别添加全局注册组件 -->
<div class="promt-message-tooltip">
    <el-tooltip effect="light" placement="left">
        <div slot="content">
            <p v-for="item in messages" :key="item">
                {{item}}
            </p>
        </div>
        <i class="el-icon-question" class="tips-icon"></i>
    </el-tooltip>
</div>
</template>

<script> export default { props: ['messages'] } </script>
<style lang="scss"> .promt-message-tooltip { .tips-icon { color:#409eff; margin-left:5px; font-size:14px; } } </style>
复制代码

二、开发插件

index.js文件里面实现vue

import promptMessage from './promptMessage.vue'

export default {
  install: (Vue) => {
    Vue.component('promptMessage', promptMessage)
  }
}
复制代码

三、使用插件

main.js文件里面实现java

import promptMessage from '@/components/promptMessage/index.js'

Vue.use(promptMessage)
复制代码

四、业务代码实现

<template>
<el-table tooltip-effect="light" :data="dataList" border >
  <el-table-column label="操做" :render-header="renderHeader">
    <template slot-scope="scope">删除</template>
  </el-table-column>
</el-table>
</template>

<script> export default { methods: { // render 事件 renderHeader (h, { column }) { return h( 'div', { style: 'display:flex;margin:auto;' }, [ h('span', column.label), // 直接用组件就完事了 h('prompt-message', { props: { messages: ['kaimo须要的tips!'] } }) ] ) } } } </script>
复制代码
相关文章
相关标签/搜索