el-table中render方法中实现显示文字与提示文字不同的效果

新建一个组件

.vue

<template>
  <div class="tooltip">
    <el-tooltip effect="dark" open-delay="500" class="ell" placement="top" v-if="showText !== '-'">
      <div slot="content">
        <!-- 插槽,可提供多行的提示信息 -->
        <!-- 全局组件,这里是配置图标icon和提示信息的地方 -->
        <!-- 在其他组件中引用方式详见 table-header-tips.vue 组件中的 renderHeaderMethods 方法 -->
        <span>{{ tooltipText }}</span>
      </div>
      <div>{{ showText }}</div>
    </el-tooltip>
    <div v-else>-</div>
  </div>
</template>
<script>
export default {
  name: 'promptMessages',
  data() {
    return {};
  },
  props: {
    tooltipText: {
      type: String
    },
    showText: {
      type: String
    }
  }
};
</script>
<style lang="scss" scoped>
/deep/.el-tooltip {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
</style>

.js

import promptMessages from './promptMessages.vue';

promptMessages.install = function(Vue) {
  Vue.component(promptMessages.name, promptMessages);
};

export default promptMessages;

引入

import Vue from 'vue';
import promptMessages from '@/components/pc/promptMessages';
Vue.use(promptMessages);

render

render: (h, params) => {
  const { allSystem, authzSystem } = params.row;
   const tooltipText = authzSystem === '-' ? '-' : authzSystem.map(curr => curr.systemName).join('、');
   const showText = allSystem ? '全部应用' : tooltipText;
   return [
     h('promptMessages', {
       // 引用 promptMessages 全局组件
       props: {
         // messages 里面配置的信息即为 Tooltip 提示信息
         tooltipText,
         showText
       }
     })
   ];
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值