vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码


Posted in Javascript onSeptember 16, 2020

vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码

 utils/index,.js

/**
 * 生成UUID
 * @param withSeparator 是否有分割符
 * @returns {string}
 */
export function generateUUID(withSeparator = true) {
 let d = new Date().getTime()
 if (window.performance && typeof window.performance.now === 'function') {
  d += performance.now()
 }
 const tpl = withSeparator ? 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' : 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'
 return tpl.replace(/[xy]/g, function(c) {
  const r = (d + Math.random() * 16) % 16 | 0
  d = Math.floor(d / 16)
  return (c === 'x' ? r : (r & 0x3 | 0x8)).toString(16)
 })
}

创建一个generate-uuid/index.js自定义指令文件

import { generateUUID } from '@/utils'
const generateUuid = {
 inserted(el, binding) {
  const { value } = binding
  if (!value) {
   const hasUUID = generateUUID(value)
   el.setAttribute('data-uuid', hasUUID)
   if (!hasUUID) {
    el.parentNode && el.parentNode.removeChild(el)
   }
  }
 }
}
generateUuid.install = function(Vue) {
 Vue.directive('generate-uuid', generateUuid)
}
 
export default generateUuid

main.js引入

import GenerateUUID from '@/directive/generate-uuid'
Vue.use(GenerateUUID)

页面使用

<el-table
   v-generate-uuid="false"
  >

vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码

使用uuid元素方法

const topRow = this.$refs.multipleTable
   const hash = topRow.$el.dataset.uuid
   const tableHeader = document.querySelector(`.el-table[data-uuid="${hash}"] .el-table__header-wrapper`)
   if (tableHeader) {
    tableHeader.style.width = topRow.$el.getBoundingClientRect().width + 'px'
   }

总结

到此这篇关于vue 自定指令生成uuid滚动监听达到tab表格吸顶效果的代码的文章就介绍到这了,更多相关vue滚动监听tab表格吸顶内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
面向对象Javascript核心支持代码分享
May 23 Javascript
JavaScript中的this关键字使用详解
Aug 14 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
Vue.js中组件中的slot实例详解
Jul 17 Javascript
node中使用es5/6以及支持性与性能对比
Aug 11 Javascript
常用的9个JavaScript图表库详解
Dec 19 Javascript
深入理解Vue Computed计算属性原理
May 29 Javascript
JavaScript引用类型Function实例详解
Aug 09 Javascript
使用JS获取页面上的所有标签
Oct 18 Javascript
微信小程序 JS动态修改样式的实现方法
Dec 16 Javascript
微信小程序实现星级评价效果
Dec 28 Javascript
浅谈React Native 传参的几种方式(小结)
May 21 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
Sep 16 #Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 #Javascript
Vue项目打包编译优化方案
Sep 16 #Javascript
Vue封装Axios请求和拦截器的步骤
Sep 16 #Javascript
如何在JS文件中获取Vue组件
Sep 16 #Javascript
javascript自定义加载loading效果
Sep 15 #Javascript
图解JS原型和原型链实现原理
Sep 15 #Javascript
You might like
php使用ICQ网关发送手机短信
2013/10/30 PHP
php使用session二维数组实例
2014/11/06 PHP
php为字符串前后添加指定数量字符的方法
2015/05/04 PHP
简单谈谈PHP vs Node.js
2015/07/17 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
Textarea根据内容自适应高度
2013/10/28 Javascript
js 将json字符串转换为json对象的方法解析
2013/11/13 Javascript
Jquery通过Ajax访问XML数据的小例子
2013/11/18 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
Angularjs中使用layDate日期控件示例
2017/01/11 Javascript
AngularJS框架中的双向数据绑定机制详解【减少需要重复的开发代码量】
2017/01/19 Javascript
jQuery布局组件EasyUI Layout使用方法详解
2017/02/28 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
JS实现的自定义map方法示例
2019/05/17 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
python实现百度关键词排名查询
2014/03/30 Python
python使用opencv进行人脸识别
2017/04/07 Python
Python面向对象程序设计类的封装与继承用法示例
2019/04/12 Python
python字符串Intern机制详解
2019/07/01 Python
Python字典对象实现原理详解
2019/07/01 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
Python中的类与类型示例详解
2019/07/10 Python
python使用Pandas库提升项目的运行速度过程详解
2019/07/12 Python
Python字符编码转码之GBK,UTF8互转
2020/02/09 Python
在终端启动Python时报错的解决方案
2020/11/20 Python
魅力惠奢品线上平台:MEI.COM
2016/11/29 全球购物
世界上最受欢迎的钓鱼诱饵:Rapala
2019/05/02 全球购物
Speedo速比涛法国官方网站:泳衣、泳镜、泳帽、泳裤
2019/07/30 全球购物
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
2015/08/04 面试题
英文留学推荐信范文
2014/01/25 职场文书
大学校运会广播稿
2014/02/03 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
成绩报告单家长评语
2014/12/30 职场文书
SQL优化老出错,那是你没弄明白MySQL解释计划用法
2021/11/27 MySQL