vue vue的table表格自适应_vue table autoHeight(vue 表格自动高度)

小编主要做的都是后台管理系统,采用布局多为头部、左侧菜单栏,右侧内容,头部和菜单栏固定位置,内容部分如果很长就会出现滚动条(iview和element都提供了布局容器),后台管理系统多为表格的增删改查,so,要需要表格自动高度,提供两种方式(纯代码分享):

1)施加在表格自身

1.普通vue项目:

根目录新建directive里面三个文件(都有所删减):

directive里面三个文件

autoHeightParams.js

/**

* @functionName: js

*@param: allScreen--全屏

*@param: table --右侧全屏表

*@param: table_S_OneLine --右侧表上有单独一行搜索

*@param: table_S_TwoLine --右侧表上有单独两行行搜索

*@param: table_S_OneLine_B_OneLine --右侧表上有一行行搜索+一行按钮

*@param: table_S_TwoLine_B_OneLine --右侧表上有两行行搜索+一行按钮

*@description:

*@author: 王建锋

*@date:

*@version: V1.0.0

*/

export default {

//全屏

allScreen: {

allHeight: 0,

precent: 100,

diffHeight: 126,

overflowX: 'hidden'

},

//右侧全屏表

table: {

allHeight: 0,

precent: 100,

diffHeight: 380

},

//右侧表上有单独一行搜索

table_S_OneLine: {

allHeight: 0,

precent: 100,

diffHeight: 295

},

//右侧表上有单独两行行搜索

table_S_TwoLine: {

allHeight: 0,

precent: 100,

diffHeight: 345

},

//右侧表上有一行行搜索+一行按钮

table_S_OneLine_B_OneLine: {

allHeight: 0,

precent: 100,

diffHeight: 360

},

//右侧表上有两行行搜索+一行按钮

table_S_TwoLine_B_OneLine: {

allHeight: 0,

precent: 100,

diffHeight: 410

},

table_Home_Small: {

allHeight: 0,

precent: 100,

diffHeight: 810

},

table_Model: {

allHeight: 0,

precent: 100,

diffHeight: 700

}

}

directives.js

const directives = {

autoHeight: {

inserted: (el, binding) => {

el.opt = {

...{

allHeight: 0,

precent: 100,

diffHeight: 100

},

dataName: binding.arg,

...binding.value,

...binding.modifiers

}

el.autoHeightHandle = function (el, binding) {

let allH = el.opt.allHeight === 0 ? window.innerHeight : el.opt.allHeight

let elH = (allH * el.opt.precent / 100) - el.opt.diffHeight

if (!el.opt.vm && el.opt.dataName) {

console.error('autoHeight:定义了dataName则必须同时定义vm参数')

return

}

if (el.opt.vm && el.opt.dataName) el.opt.vm[el.opt.dataName] = elH

if (el.opt.style === true) el.style = `height:${elH}px;overflow-y:auto;`

}.bind(null, el, binding)

window.addEventListener('resize', el.autoHeightHandle)

el.autoHeightHandle()

},

update: (el, binding) => {

el.opt = {

...{

allHeight: 0,

precent: 100,

diffHeight: 100

},

dataName: binding.arg,

...binding.value,

...binding.modifiers

}

el.autoHeightHandle()

},

unbind: (el) => {

if (el && el.autoHeightHandle) window.removeEventListener('resize', el.autoHeightHandle)

}

}

}

export default directives

index.js

import directive from './directives'

const importDirective = Vue => {

* 自动高度 v-auto-height="options"

*/

Vue.directive('auto-height', directive.autoHeight)

}

export default importDirective

在main.js中

import importDirective from '@/directive'

/**

* 注册指令

*/

importDirective(Vue)

2.使用nuxt的

把index.js改为

import directive from './directives'

export default directive

在plugins文件夹下新建auto-height.js

import Vue from 'vue'

import directives from '@/components/public/parts/directives'

Vue.directive('auto-height', directives.autoHeight)

然后就是使用在你写的表格里标签里(不管element、iview或者自己在他俩基础上封装的也好)直接加

v-auto-height:tableHeight="{vm:this, diffHeight:ahTable.diffHeight}"

:height="tableHeight"

试例为element表格再次封装的表格插件

试例为iview表格再次封装的表格插件

然后引入

import autoHeightParams from '@/components/public/parts/directives/autoHeightParams'

在data中写入

tableHeight: null,

ahTable: autoHeightParams.table_S_OneLine_B_OneLine//这里写autoHeightParams.js里面预设好的高度变量

就OK了

2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/365309.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php网页的注册界面设计,HTML开发博客之注册页面设计(一)

CSS文件的引入新建文件reg.html文件首先我们来分析网页布局这是我们页面完成后的效果,网页分为三部分头部,主体,和底部我们按照这个顺序开始编写。头部导航栏的编写html>用户注册页面首页科技资讯心情随笔资源收藏图文图片留言板登陆/注册…

Arctext.js - 基于 CSS3 jQuery 的文本弯曲效果

Arctext.js 是基于 Lettering.js 的文本旋转插件,根据设置的旋转半径准确计算每个字母的旋转弧度并均匀分布。虽然 CSS3 也能够实现字符旋转效果,但是要让安排每个字母都沿着弯曲路径排布相当的复杂,结合 Arctext.js 则可以轻松实现这个效果。…

在JDT中使用Java 8 Lambda

旧 Curmudgeon 认识Smalltalk的Dude 在修改Eclipse Java开发工具 (JDT)项目正在开发的Java 8支持时,我一直在使用这种语言。 我承认我对Java 8中的lambda有点不满意。 当然,这来自于知道Smalltalk (和LISP / Schem…

[POJ1463] Strategic game

题目链接: 传送门 题目大意: Bob非常享受玩电脑游戏的过程,尤其是策略游戏,但是在有些时候,他因为不能在第一时间找到最佳的策略而十分伤心。 现在,他遇到了一个问题。他必须保卫一个中世纪的城市&#xff…

zabbix邮件告警

zabbix邮件告警调用第三方邮件服务来发送邮件。 [roottiandong ~]# yum install mailx -y 修改配置文件 [roottiandong ~]# vim /etc/mail.rc 67 set from15600857257163.com smtpsmtp.163.com 68 set smtp-auth-user15600857257163.com 69 set smtp-auth-password密码&#xf…

模糊推理机制 matlab,基于模糊综合评判推理机制的学生素质评价系统设计与实现...

第22卷第2期2002年2月文章编号:(2002)l00l-908l2-008l-03计算机应用ComputerAppIicationsVoI.22,No.2Feb.,2002基于模糊综合评判推理机制的学生素质评价系统设计与实现尹世群(西南师范大学计算机与信息科学学院,重庆4007l5)摘要:根据模糊数学…

SweetAlert – 替代 Alert 的漂亮的提示效果

Sweet Alert 是一个替代传统的 JavaScript Alert 的漂亮提示效果。SweetAlert 自动居中对齐在页面中央,不管您使用的是台式电脑,手机或平板电脑看起来效果都很棒。另外提供了丰富的自定义配置选择,可以灵活控制。 在线演示 插件下载 您可…

onpagefinished等了很久才执行_今天自律了吗?停课不停锻炼 才是战疫正确姿势

近日,中青校媒面向全国915名高校学生发起关于“宅家运动”情况的调查,发现15.39%被调查者在家期间会严格执行锻炼计划,39.96%选择间歇性完成制订的运动目标,还有44.65%在家很少运动。(3月18日《中国青年报》)新冠肺炎疫情发生&…

Spring Data Couchbase 1.0 GA发布

Spring Data Couchbase 1.0 GA版本已发布! 该项目是Spring Data项目的一部分,该项目旨在为新数据存储提供熟悉且一致的基于Spring的编程模型,同时保留特定于存储的功能。 Spring Data Couchbase项目提供了与Couchbase Server数据库的集成。 …

网络验证php接口逆向,一个专利查错的逆向(网络验证)

[C#] 纯文本查看 复制代码bool flag true;if (!fileInfo.CreationTime.ToString().Equals(configData.fileCreateTime))//这里是校验License,直接删除掉{MessageBox.Show("认证文件已损坏!");flag false;Application.Exit();}if (flag){Lice…

kickstart-G

感觉自己很蠢&#xff0c;large数据只能交一次&#xff0c;忘记这回事了 A题 O(n^2)解法&#xff0c;用vector<set> 缓存j后面的数据&#xff0c;减少一重循环 1 #include <string>2 #include <vector>3 #include<iostream>4 #include<cstdio>5 …

Ocrad.js – JS 实现 OCR 光学字符识别

Ocrad.js 相当于是 Ocrad 项目的纯 JavaScript 版本&#xff0c;使用 Emscripten 自动转换。这是一个简单的 OCR &#xff08;光学字符识别&#xff09;程序&#xff0c;可以扫描图像中的文字回文本。 不像 GOCR.js&#xff0c;Ocrad.js 被设计成一个端口&#xff0c;而不是围绕…

c++ ptree判断是否存在节点_CTreeCtrl 查找 等于某值 的节点,并设置为高亮

查找节点&#xff0c;并返回该节点HTREEITEM GroupTree::FindTreeItem(HTREEITEM item,CString& strText){HTREEITEM hFind;if(item NULL)return NULL;while(item!NULL){if(m_pTree->GetItemText(item) strText)return item;if(m_pTree->ItemHasChildren(item))…

oracle安装出现getproces,oracle安装问题

一.引入问题帮朋友在CentOS上安装一个10g的Oracle&#xff0c;结果朋友的CentOS版本是6.2的版本&#xff0c;最新的一个版本&#xff0c;不过Linux上基本都差不多&#xff0c;所以按照以前的步骤&#xff0c;迅速的操作起来&#xff0c;结果遇到N多以前没有遇到过的错误。安装被…

使用Java和JCEKS进行AES-256加密

总览 由于最近爱德华斯诺登 &#xff08; Edward Snowden&#xff09;发布了文件以及针对JC Penny &#xff0c; Sony和Target等在线商业商店的黑客入侵&#xff0c;安全性已成为近年来讨论的重要话题。 虽然本文不会为您提供帮助防止使用非法来源数据的所有工具&#xff0c;但…

Sequence.js 实现带有视差滚动特效的图片滑块

Sequence.js 功能齐全&#xff0c;除了能实现之前分享过的现代的图片滑动效果&#xff0c;还可以融合当前非常流行的视差滚动&#xff08;Parallax Scrolling&#xff09;效果。让多层背景以不同的速度移动&#xff0c;形成立体的运动效果&#xff0c;带来非常出色的视觉体验。…

【SQL Server 学习系列】-- sql 随机生成中文名字

【SQL Server 学习系列】-- sql 随机生成中文名字 原文:【SQL Server 学习系列】-- sql 随机生成中文名字1 DECLARE fName TABLE(Id INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20)) -- 姓氏2 DECLARE lName TABLE(Id INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20)…

本地方法栈线程公有_Java运行时区域,哪些区域是线程私有的?哪些是共有的?...

JVM 运行时数据区域大致可以分为&#xff1a;程序计数器、虚拟机栈、本地方法栈、堆区、元空间、运行时常量池、直接内存等区域&#xff1b;就是下面这个样子的&#xff1a;其中有些区域&#xff0c;随着 JDK 版本的升级不断调整&#xff0c;例如&#xff1a;JDK 1.6&#xff0…

matlab wc wp,数字信号处理MATLAB习题.PDF

数字信号处理MATLAB习题数字信号处理MATLAB 习题电气硕 72 李弘昌第11 题分别用脉冲响应不变法和双线性变换法设计一个巴特沃斯型IIR 低通数字滤波器&#xff0c;采样频率 &#xff0c;其通带边频 处的衰减为 &#xff0c;阻带边频 处的衰减为 。给出设计该滤波器的MATLAB 程序…

开源JVM Sampling Profiler

众所周知 &#xff0c;大多数现有的采样Java Profiler都必须在安全的地方进行堆栈跟踪收集。 诸如采样探查器之类的探查器就是这种情况&#xff0c;它使用SUN / Oracle管理代理来收集其堆栈跟踪。 这种方法的问题在于&#xff0c;由于不是程序中的每个点都不是安全点&#xff0…