vue2 二次封装el-tooltip

 

 

前言 

我们在使用 element-ui 组件库里的 el-tooltip 实现文本提示功能时,发现只要用了这个组件,不管文本有没有超出鼠标移动上去时都会显示其提示,但是很多时候我们更想要的是只有当文本超出并且显示省略号后,此时鼠标移动上去才会显示全部

那么接下来我们就来实现一下

大致思路

  • 鼠标悬停或聚焦时触发的方法,用于检查并设置提示框可见性 
  • 此时去获取父容器和内容的宽度分别通过 `parentNode.offsetWidth` 和 `offsetWidth`
  • 最后根据宽度比较确定是否启用提示框

 

组件封装 

CustomTooltip.vue 

<template>
  <div class="custom-tooltip">
    <el-tooltip effect="dark" :disabled
Vue2中,如果想对Element UI的`el-date-picker`日期选择器组件进行二次封装,通常会创建一个新的自定义组件,以便更精细地控制组件的行为、样式以及与其他部分的交互。这涉及到几个步骤: 1. **引入依赖**:首先,在项目里安装需要的依赖,如`element-ui`和`vue-class-component`(用于声明类组件)。 ```bash npm install element-ui vue-class-component ``` 2. **创建组件**:创建一个新的Vue组件文件,例如`DateRangePicker.vue`,并使用`Vue.extend`或`mixins`结合`el-date-picker`。 ```javascript <template> <div> <el-date-picker v-model="startDate" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :options="pickerOptions" ></el-date-picker> </div> </template> <script> import { Component, Prop } from 'vue-property-decorator'; @Component({ name: 'CustomDateRangePicker', components: { ElDatePicker: { // 使用Vue.extend或mixins替换Element的原生组件 extend: Element.UI DatePicker, }, }, }) export default class DateRangePicker extends Vue { @Prop() pickerOptions: any; // 接收配置选项 startDate = ''; endDate = ''; mounted() { this.$refs.datePicker.focus(); // 设置焦点 } } </script> ``` 3. **属性和事件处理**:暴露必要的公共属性供外部使用,并处理用户交互或接收外部传递的数据。 4. **复用和定制**:你可以通过这个封装后的组件在项目中多次复用,并根据需要调整其样式、功能或响应式特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小白小白从不日白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值