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 相关文章推荐
如何实现JS函数的重载
Sep 22 Javascript
Function.prototype.bind用法示例
Sep 16 Javascript
javascript去掉前后空格的实例
Nov 07 Javascript
JS设置网页图片vspace和hspace属性的方法
Apr 01 Javascript
JavaScript实现控制打开文件另存为对话框的方法
Apr 17 Javascript
javascript中的正则表达式使用详解
Aug 30 Javascript
跟我学习javascript的for循环和for...in循环
Nov 18 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
Dec 09 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
layui 优化button按钮和弹出框的方法
Aug 15 Javascript
微信小程序判断用户是否需要再次授权获取个人信息
Jul 18 Javascript
封装一下vue中的axios示例代码详解
Feb 16 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 skymvc 一款轻量、简单的php
2011/06/28 PHP
php中mysql模块部分功能的简单封装
2011/09/30 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
2016/06/30 PHP
利用PHP生成CSV文件简单示例
2016/12/21 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
laravel 5.4 + vue + vux + element的环境搭配过程介绍
2018/04/26 PHP
laravel excel 上传文件保存到本地服务器功能
2019/11/14 PHP
js 通用javascript函数库整理
2011/08/14 Javascript
jquery中加载图片自适应大小主要实现代码
2013/08/23 Javascript
javascript右下角弹层及自动隐藏(自己编写)
2013/11/20 Javascript
做好七件事帮你提升jQuery的性能
2014/02/06 Javascript
jquery控制背景音乐开关与自动播放提示音的方法
2015/02/06 Javascript
JavaScript简单下拉菜单实例代码
2015/09/07 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
jQuery的Each比JS原生for循环性能慢很多的原因
2016/07/05 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
JS验证全角与半角及相互转化的介绍
2017/05/18 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
通过实例了解JS 连续赋值
2019/09/24 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
[03:42]2018完美盛典-《加冕》
2018/12/16 DOTA
zookeeper python接口实例详解
2018/01/18 Python
用python3教你任意Html主内容提取功能
2018/11/05 Python
python解释器pycharm安装及环境变量配置教程图文详解
2020/02/26 Python
python实现图片素描效果
2020/09/26 Python
CSS3制作漂亮的照片墙的实现代码
2016/06/08 HTML / CSS
关于保护环境的标语
2014/06/09 职场文书
超市采购员岗位职责
2015/04/07 职场文书
黑暗中的舞者观后感
2015/06/18 职场文书
素质拓展训练感想
2015/08/07 职场文书
2015年社区消防安全工作总结
2015/10/14 职场文书
大学生入党自我鉴定范文
2019/06/21 职场文书
python基础之停用词过滤详解
2021/04/21 Python
详解运行Python的神器Jupyter Notebook
2021/06/03 Python
JS实现简单的九宫格抽奖
2022/06/28 Javascript