Uncle_MrLee

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
思路:主要是通过鼠标移入判断当前容器和其父级容器宽度大小比较决定是否添加title
vue中创建vue文件tabelFoldLine.vue;
<script>
export default {
   props: {
      labelName: {
         type: String,
         default: '',
      },
   },
   methods: {
      mouseOver(node) {
         if(node.target.offsetWidth > node.target.parentNode.clientWidth) {
            node.target.title = node.target.innerText;
         }
         else {
            node.target.title = '';
         }
      },
   },
   render() {
      return (<span onMouseover={this.mouseOver} >{this.labelName}</span>);
   },
};
</script>
 
局部使用 :
import tabelFoldLine from './tabelFoldLine.vue';
<tabel-fold-line :labelName='xxxxxxx'></tabel-fold-line>
全局使用:通过install挂载 vue.use();
index.js
import tabelFoldLine from './tabelFoldLine.vue';
const TabelFoldLine = {
   install: function(Vue) {
      Vue.component('tabelFoldLine', tabelFoldLine);
   },
};
export default TabelFoldLine;
 
main.js中
import TabelFoldLine from './components/tabel-fold-line';
Vue.use(TabelFoldLine);
项目中直接调用<tabel-fold-line :labelName='xxxxxxx'></tabel-fold-line>
 
 
posted on 2021-12-01 14:42  Uncle_MrLee  阅读(126)  评论(0)    收藏  举报