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 相关文章推荐
Prototype使用指南之range.js
Jan 10 Javascript
jQuery的链式调用浅析
Dec 03 Javascript
js substr、substring和slice使用说明小记
Sep 15 Javascript
2014年50个程序员最适用的免费JQuery插件
Dec 15 Javascript
JavaScript数据类型之基本类型和引用类型的值
Apr 01 Javascript
浅谈关于JavaScript API设计的一些建议和准则
Jun 24 Javascript
基于javascript实现图片左右切换效果
Jan 25 Javascript
JS 调用微信扫一扫功能
Dec 22 Javascript
bootstrap table 多选框分页保留示例代码
Mar 08 Javascript
React Native 环境搭建的教程
Aug 19 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
Jul 20 Javascript
Vue将props值实时传递 并可修改的操作
Aug 09 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
laravel框架关于搜索功能的实现
2018/03/15 PHP
php处理多图上传压缩代码功能
2018/06/13 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
2020/01/26 PHP
window.parent与window.openner区别介绍
2012/04/12 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
javascript运行机制之this详细介绍
2014/02/07 Javascript
javascript将相对路径转绝对路径示例
2014/03/14 Javascript
深入分析escape()、encodeURI()、encodeURIComponent()的区别及示例
2014/08/04 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
js右下角弹出提示框示例代码
2016/01/12 Javascript
用JS动态设置CSS样式常见方法小结(推荐)
2016/11/10 Javascript
讲解vue-router之什么是编程式路由
2018/05/28 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
jquery获取元素到屏幕四周可视距离的方法
2018/09/05 jQuery
利用Node.js如何实现文件循环覆写
2019/04/05 Javascript
javascript实现画板功能
2020/04/12 Javascript
在vue中使用eslint,配合vscode的操作
2020/11/09 Javascript
python局部赋值的规则
2013/03/07 Python
用Python操作字符串之rindex()方法的使用
2015/05/19 Python
python pycurl验证basic和digest认证的方法
2018/05/02 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
Python numpy.array()生成相同元素数组的示例
2018/11/12 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
通过python 执行 nohup 不生效的解决
2020/04/16 Python
浅谈Python 函数式编程
2020/06/20 Python
世界最大的海报和艺术印刷商店:AllPosters.com
2017/02/01 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
表达自我的市场:Society6
2018/08/01 全球购物
Solid & Striped官网:美国泳装品牌
2019/06/19 全球购物
Wolford法国官网:奥地利奢侈内衣品牌
2020/08/11 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
竞争上岗实施方案
2014/03/21 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
讲座通知范文
2015/04/23 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
Python字典的基础操作
2021/11/01 Python