tablulator 表格插件使用 vue3 + ts

项目中使用的是layui框架,layui整体使用起来还是挺好用的,界面风格简约,上手也简单,但是layui自带的表格性能真的不咋行,基本上显示超过500条,就很出现浏览器卡顿,全选的时候,浏览器直接都直接无响应了。

但是我们的项目需求,经常会有显示上千条的需求。网上一堆找资料试验,最后发现tablulator(Tabulator | JavaScript Tables & Data Grids)这个开源表格的性能挺好(显示并全选1w条都没问题,更多的没试了,因为没那个需求哈哈)的,该有的功能也都有,而且这个是使用jquery写的,嵌入layui完全无压力。

下面简单的记录一下使用的过程(其实官方文档挺详细的了):

1.官网下载文件,并在index.html中引入

    <!-- tabulator表格 --><script type="module" src="src/library/tabulator/js/tabulator.js"></script>

main.ts中引入样式

import './library/tabulator/css/tabulator.css'

 在根目录的.d.ts结尾的文件加入以下代码


// 声明 Tabulator 变量
declare var Tabulator: any;

2.vue文件

<template> 代码

<!-- 表格占位,用于表格渲染的位置,通过id标识 -->
<div id="grid"></div>

<script lang="ts"> 代码

   var table = new Tabulator('#grid', { layout: 'fitDataStretch',height: 'calc(100vh - 200px)', //表格自适应高度columns: [{title:"Name", field:"name"},{title:"Progress", field:"progress", width: '10px',formatter: function (cell: any) {                return '<div style="color:red;">'+cell.getValue()+'</div>'          }}],  //数据列,formatter可以自定义单元格格式pagination: true, //开启分页paginationMode: 'remote', //数据源来自服务器paginationSize: 100, //分页默认条数paginationSizeSelector: [100, 200, 500, 1000, 5000], //下拉可选择的条数paginationCounter: 'rows',ajaxURL: url, //服务器请求数据的url//paginationInput: true, //这个是我自定义的一个属性,多加了一个输入页面的文本框,修改过源码的columnDefaults: { tooltip: true,//鼠标移到单元格上时是否显示数据},ajaxConfig: { //发送请求的自定义参数method: 'GET', headers: {token: "token", //自定义header},},ajaxResponse: function (url: string, params: any, response: any) { //处理服务器响应的数据,因为服务器一般返回数据的时候都会有统一的格式,需要处理成tabulator需要的格式let data = response.datadata.last_page = Math.ceil(data.last_row / params.size)return data},rowFormatter: function (row) { //自定义行格式switch (row.getData().state) { //根据状态的不同显示不同的颜色case 1:row.getElement().style.color = '#afb4db'breakcase 2:row.getElement().style.color = 'black  'break}},})

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

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

相关文章

校园生活信息平台:Java+Vue+MySQL全栈实践

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

Spring Cloud Alibab 入门搭建,包含Nacos中心,注册服务发现服务,Feign请求,GateWay网关,sentinel限流

一、安装Nacos注册中心 1.1查看Nacos官网&#xff0c;安装Nacos服务&#xff0c;下载源码或者安装包 1.2启动服务&#xff0c;默认端口为8848&#xff0c; 二、创建服务注册&发现 2.1使用脚手架&#xff0c;创建注册服务和发现服务项目&#xff0c;我用的版本是2.6.13&…

VUE2 Day06路由模块封装,声明式导航,vue路由重定向,keep-alive,基于VueCli自定义创建项目,代码规范

绝对路径&#xff1a;指代src目录&#xff0c;可以用于快速引入组件 路由模块的封装抽离的好处是什么&#xff1f; 拆分模块&#xff0c;利于维护 以后如何快速引入组件&#xff1f; 基于 指代 src 目录&#xff0c;从 src 目录出发找组件 /search/:words 表示&#xff0…

双线性插值

先来看看线性插值的情况 如上图&#xff0c;在已知p2 (x2,y2)和p1 (x1,y1)的情况下要求解在区间[x1,x2]上任意点x对应的y值&#xff0c;有如下公式&#xff1a; 因式分解&#xff0c;解开y有&#xff1a; 可以看出是计算点p与p3的距离权重&#xff0c;是计算点p与p2的距离权重&…

【产品经理方法论——BRD文档模板】

一、BRD(Business Requirement Document)商业需求文档 BRD文档是面对公司高层&#xff0c;目的是获得公司资金、资源的支持开展项目。一般的BRD文档展示方式是PPT。 下面的思维导图是BRD文档的六大模块。 方案背景方案预测产品规划盈利模式收益与成本风险与对策 1. 方案背景 …

2024-03-14 Android app runOnUiThread 函数,它的作用是让一个Runnable对象在主线程(UI线程)上运行。

一、看到别人app有这么一个runOnUiThread 函数用法。 二、在Android中&#xff0c;runOnUiThread 是一个非常重要的方法&#xff0c;它的作用是让一个Runnable对象在主线程&#xff08;UI线程&#xff09;上运行。在Android中&#xff0c;主线程是负责更新UI的线程&#xff0c;…

try catch 应该在 for 循环里面还是外面

前言 其实就是看业务。我需要出现异常就终止循环的&#xff0c;就放外头&#xff1b;不需要终止循环&#xff0c;就搞里头但是要注意一点就是&#xff0c;别在for循环里面去查库调用第三方啥的&#xff0c;这些操作&#xff0c;如果必要&#xff0c;需要慎重考虑了 参考文章 …

马斯克宣称开源GROK,普通人如何抓住机会

一、马斯克宣称开源grok 3月11日晚&#xff0c;特斯拉的创始人埃隆马斯克在社交平台宣布&#xff0c;其AI初创企业xAI即将在本周公开聊天机器人Grok的源代码。这一举措意味着公众将能够无偿获取到大模型技术背后的核心代码&#xff0c;从而进一步推动AI技术的普及与发展。对此…

threejs简单创建一个几何体(一)

1.下包引入 //下包 npm install three yarn add three//引入 import * as THREE from three2.创建场景,摄像机 // 1.创建场景const scene new THREE.Scene()// 2.创建摄像机//第一个参数是视角,一般在60-90之间,第二个参数是场景的尺寸,一般取显示器的宽高,第三个参数是开始位…

SQLiteC/C++接口详细介绍之sqlite3类(六)

快速前往文章列表&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;五&#xff09; 下一篇&#xff1a;SQLiteC/C接口详细介绍之sqlite3类&#xff08;七&#xff09; 19. sqlite3_changes与sqlite3_changes64 是SQLite中用…

【兆易创新GD32H759I-EVAL开发板】认识主芯片架构

GD32H759I是高性能的微控制器&#xff0c;采用ARM Cortex-M7处理器&#xff0c;是GD32微控制器系列的一部分。它专为各种应用设计&#xff0c;注重于提高处理能力、降低功耗&#xff0c;并配备全面的外设集合。以下是对其特性、架构以及潜在应用场景的详细介绍&#xff1a; **…

如何利用POI导出报表

一、报表格式 二、依赖坐标 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>3.16</version> </dependency> <dependency><groupId>org.apache.poi</groupId><art…