首页 > 其他分享 >a-tooltip气泡指令

a-tooltip气泡指令

时间:2023-09-12 18:33:08浏览次数:40  
标签:el placement title tooltip 指令 attrs 气泡

/**
 * 气泡指令
 * @param {?String | ?Number} title - 自定义内容
 * @param {?String | 'top'} placement - 气泡冒出位置
 * @param {?String | 'right'} position - 气泡位置
 * @param {Object} binding.value - {title,placement,position}
 * 直接使用: v-tooltip="{title:'我是气泡'}"
 * 配置事件: v-tooltip="{title:'我是气泡',placement: 'top', position:'left'}"
 * 参数说明: title:【自定义内容】; placement【气泡冒出位置】;position【气泡位置】;
 */

export default function (el, binding) {
  if (el.hasIcon) return
  const iconElement = structureIcon(binding.arg, binding.value)
  // 有内容才显示
  if (!iconElement) return
  // 气泡是添加在元素左边还是右边,默认是右边
  binding.value?.position == 'left' ? el.insertBefore(iconElement, el.childNodes[0]) : el.appendChild(iconElement)
  el.hasIcon = true
}



function structureIcon(content, attrs) {
  // 有内容才显示
  if (attrs?.title) {
    // 默认气泡展示的位置
    attrs.placement = attrs.placement ? attrs.placement : 'top'
    // 拼接绑定属性
    let attrStr = ''
    for (let key in attrs) {
      if (attrs[key]) {
        attrStr += `${key}=${attrs[key]} `
      }
    }
    const a = `<a-tooltip ${attrStr}><a-icon type="question-circle" style="margin:0 3px;cursor: pointer;" ></a-icon></a-tooltip>`
    // 创建构造器
    const tooltip = Vue.extend({
      template: a
    })
    // 创建一个 tooltip 实例并返回 dom 节点
    const component = new tooltip().$mount()
    return component.$el
  }
}
//代码里面用到了antd的a-tooltip&a-icon,记得引入

 

标签:el,placement,title,tooltip,指令,attrs,气泡
From: https://www.cnblogs.com/Privatexaio/p/17697499.html

相关文章

  • 节流指令
    /***节流指令一段时间内首次触发时立即执行,此时间段内再次触发,不会执行!*@param{Function}fn-执行事件*@param{?String|"click"}event-事件类型例:"click"*@param{?Number|1000}time-间隔时间*@param{Array}binding.value-[fn,event,time]*直接......
  • 防抖指令
    /***防抖指令单位时间只触发最后一次*@param{Function}fn-执行事件*@param{?String|"click"}event-事件类型例:"click"*@param{?Number|500}time-间隔时间*@param{Array}binding.value-[fn,event,time]*直接使用:v-debounce="fn"*配置事件......
  • 8086汇编指令编码规范
      学习MASM汇编时有时会被各种语法弄混,其实很多指令的规则是很简单的,但编译器为了方便添加了伪指令来帮助编译器更准确的生成机器代码。为了深入理解伪指令背后的逻辑,特将8086的编码规则记录如下,以便随时参阅。  一、编码规范:                  ......
  • 通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置
    1.算法理论概述       通过FPGA实现基于RS232串口的指令发送并控制显示器中目标位置是一种常见的应用场景,用于实现对显示器中目标位置的控制。该系统利用FPGA芯片作为主控制器,通过RS232串口与计算机或其他设备进行通信,接收指令并解析,然后控制显示器中目标位置的移动。该......
  • 关于XW指令含义
    XW:自扩展字节和半字操作的16位压缩指令。标准压缩指令不支持字节和半字操作,我们增加了字节和半字操作,当使用MounRiver开发时勾选RVXW选项,有利于提升代码密度。为进一步提高代码密度,扩展XW子集,增加以下压缩指令c.lbu/c.lhu/c.sb/c.sh/c.lbusp/c.lhusp/c.sbsp/c.shsp,使用时......
  • Vue3入门学习---指令篇
    前言Vue3是一款非常流行的JavaScript框架,它提供了很多的指令来方便我们进行开发。在本篇博客中,我们将详细介绍Vue3的指令,让大家更好地了解这款框架的强大之处。正文开始1.v-bind指令v-bind指令用于绑定数据到DOM元素上,可以绑定任何JavaScript表达式。在Vue3中,我们可以使用简写......
  • Linux常见指令
    下列指令语法如果用[]括起来就是可有可无的。1、pwd指令语法:pwd功能:显示用户当前所在的目录常用选项:无举例:2、ls指令语法:ls[选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常用选项:-a列出目录下的所有文件,包括以.开头......
  • Vue2x的自定义指令
    在某些情况下,我们需要对底层DOM进行操作,而内置的指令不能满足需求,就需要自定义指令。一个自定义指令由一个包含类似组件的生命周期的钩子的对象来定义,钩子函数会接收到指令所绑定的元素作为参数。定义指令常用两种方式进行自定义指令,一种是全局定义,另一种在当前组件中定义//局......
  • Vue学习一:vue2的基本指令
    Vue是一个构建用户界面的渐进式框架。官网:https://cn.vuejs.org/。Vue可以用网上的CDN,也可以下载到本地(下载的话就是进入官网打开学习文档,点击基础里面的安装,点击里面的开发版本这几个字,建议下载开发版本,里面包含完整的警告和调试模式)1、创建Vue2实例首先将下载的vue.js引入到h......
  • ES运维常见的十个故障诊断指令汇总
    文章目录1、查询分配未分配的原因1.1问题场景描述1.2诊断方式1.3解决方案1.4所有12种分片未分配原因汇总2、查询集群的健康状况2.1健康状态2.2查看状态信息3、查看集群中所有节点的节点属性3.1常见使用场景4、查看集群中所有节点的分配信息4.1常见使用场景5、查询集群/......