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>
複製代碼
相關文章
相關標籤/搜索