Vue中使用Vue-scroll做表格使得在x轴滑动
页面效果

首先
npm i vuescroll
在main.js中挂载到全局

页面代码
<template><div class="app-container"><Header :title='title' @goback='goBack'><template v-slot:icon><van-icon @click='goHome' class='icon' name='wap-home-o' /></template></Header><div class="table_box"><vue-scroll :ops="ops" style="width:100%;height:100%"><div class="data-box"><van-row class="th-row" style="display:flex;"><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">序号</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">门店名称</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">是否认购</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">认购目标(分)</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">本月完成(分)</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">是否达时序</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">当前进度</van-col><van-col style="width:90px;text-align: center;border-right: 1px solid #ddd;">是否需预警</van-col></van-row><!-- 数据循环展示,checkbox可以进行选择--><van-row class="td-row" :style="{ background: index % 2 == 0 ? '#fefefe' : '#f3f3f3' }"v-for="(item, index) in accountList" :key="index"><van-col class="common-ellipsis" @click="showContent(item.workerNo)">{{ item.workerNo }}</van-col><van-col class="common-ellipsis" @click="showContent(item.workerName)">{{ item.workerName }}</van-col><van-col class="common-ellipsis" @click="showContent(item.salary)">{{ item.salary }}</van-col><van-col class="common-ellipsis" @click="showContent(item.amount)">{{ item.amount }}</van-col><van-col class="common-ellipsis" @click="showContent(item.amountTime, 1)">{{ item.amountTime|dateFormat}}</van-col><van-col class="common-ellipsis" @click="showContent(item.remark)">{{ item.remark }}</van-col><van-col class="common-ellipsis" @click="showContent(item.remark)">{{ item.remark }}</van-col><van-col class="common-ellipsis" @click="showContent(item.remark)">{{ item.remark }}</van-col></van-row></div></vue-scroll></div><!-- 弹出省略的内容 --><van-popup v-model="showPopup" class="hidden-wrap"><van-row class="hidden-content">{{ ellContent }}</van-row></van-popup></div>
</template>
<script>
import Header from '../components/header'
export default {name: "vantTable",components: { Header },filters: {dateFormat: function (val) {//省略......return val;}},data() {return {title: "积分认购一览表",dataform: {queryStr: '',},isCheckAll: false,showPopup: false, // 显示省略的内容ellContent: "", // 省略的内容costName: "",checkedVal: [],accountList: [{ workerNo: "1", workerName: "张良", salary: "1000", amount: "50000", amountTime: "20021201", remark: "弄啥咧" },{ workerNo: "2", workerName: "天明", salary: "1111", amount: "40000", amountTime: "20021203", remark: "弄啥咧" },{ workerNo: "3", workerName: "少司命", salary: "1222", amount: "60000", amountTime: "20021001", remark: "弄啥咧" },{ workerNo: "4", workerName: "高渐", salary: "1333", amount: "20000", amountTime: "20021021", remark: "弄啥咧" },{ workerNo: "5", workerName: "雪女", salary: "1444", amount: "10000", amountTime: "20020801", remark: "弄啥咧" },],ops: {vuescroll: {},scrollPanel: {},rail: {keepShow: true},bar: {hoverStyle: true,onlyShowBarOnScroll: false, //是否只有滚动的时候才显示滚动条background: "#F5F5F5",//滚动条颜色opacity: 0.5,//滚动条透明度"overflow-y": "hidden" //使用横向滚动 竖向就是"overflow-x": "hidden"}}};},created() { },methods: {goBack() {this.$router.go(-1)},goHome() {this.$router.push('/index')},// 显示省略的内容showContent(content, type) {if (content == "") {return;} else {if (type == 1) {var format = this.$options.filters['dateFormat'];//日期通过过滤器格式化一下this.ellContent = format(content)} else {this.ellContent = content;}this.showPopup = true;}},checkAll() {if (!this.isCheckAll) {this.$refs.checkboxGroup.toggleAll(true);this.isCheckAll = true;} else {this.$refs.checkboxGroup.toggleAll();this.isCheckAll = false;}},onSearch() {},cLearSearch() {},checkChange() {},},
};
</script><style lang="less" scoped>
.app-container{background-color: #fff;height: 100vh;.table_box{padding: 10px;margin-top: 20px;.data-box {font-size: 13px;margin: 12px 0px;border: 1px solid #d0f2f0;.th-row {height: 30px;line-height: 30px;padding: 0px 12px;background: #d0f2f0;}.td-row {height: 30px;line-height: 30px;padding: 0px 12px;}}}
}// 超出 1 行显示省略号
.common-ellipsis {width: 90px;height: 100%;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;border-right: 1px solid #ddd;text-align: center;
}// 滚动条位置 --展示横向
/deep/.__bar-is-vertical {display: none !important;
}// 隐藏横向滚动条
/deep/.__bar-is-horizontal {bottom: -1px !important;
}
</style>
其中有个组件的代码header.vue
<template><div class="head_box"><header><div class="back"><img @click="goBack" src="../assets/back_on.png" alt="" /></div><div class="home_title_container"><h3 style="font-weight: normal;font-size: 20px;">{{title}}</h3></div><div class="home_func"><slot name="icon"></slot></div></header></div>
</template>
<script>
export default {name: 'org',props:{title:{}},data() {return {}},methods: {goBack() {this.$emit('goback')},},
}
</script>
<style lang="less" scoped>
.head_box{height: 2rem;
}
header {z-index: 999;color: red;text-align: center;height: 3rem;background: url('../assets/bg1.png');width: 100%;background-size: 100% 100%; // 可以使用coverbackground-repeat: no-repeat;background-origin: border-box; //从border开始填充background-clip: border-box;display: flex;justify-content: center;position: fixed;top: 0;.back {padding-left: 15px;img {align-self: center;display: flex;flex-direction: column;justify-content: center;height: 1.5rem;}width: 20%;height: 100%;text-align: left;flex: 1;display: flex;flex-direction: column;justify-content: center;}.home_func {display: flex;justify-content: center;flex: 1;width: 30%;height: 100%;font-size: 1.6rem;line-height: 1.5rem;color: #fff;.icon {display: flex;justify-content: center;flex-direction: column;text-align: center;}img{display: inline-block;width: 30px;height: 30px;align-self: center;}}.home_title_container {width: 70%;// height: 1.207729rem;display: flex;align-items: center;justify-content: center;flex-direction: column;font-size: 0.434783rem;line-height: 0.724638rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;color: #fff;h4 {font-size: 0.434783rem;line-height: 0.483092rem;height: 0.483092rem;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}}
}
</style>
注意
记得替换图片 !!!!
vant版本是2.x !!!
相关文章:
Vue中使用Vue-scroll做表格使得在x轴滑动
页面效果 首先 npm i vuescroll 在main.js中挂载到全局 页面代码 <template><div class"app-container"><Header :titletitle gobackgoBack><template v-slot:icon><van-icon clickgoHome classicon namewap-home-o /></templat…...
【高频】从输入URL到页面展示到底发生了什么?
一、相关衍生面试问题: 浏览器输入美团网站,从回车到浏览器展示经历了哪些过程 ? http输入网页之后的流程? 百度搜索页面,从点开搜索框,到显示搜索页面经历了什么? 二、探究各个过程&#x…...
【CSharp】ushort[]的IntPtr快速转换为ushort[]无符号短整型数组
【CSharp】ushort[]的IntPtr快速转换为ushort[]无符号短整型数组 1.背景2.代码1.背景 参考博客: 【CSharp】无符号短整型数组ushort[]转化为IntPtr https://blog.csdn.net/jn10010537/article/details/139278321?spm=1001.2014.3001.5501探测器/相机SDK获得是InPtr指针,它…...
释放 OSINT 的力量:在线调查综合指南
开源情报 (OSINT) 是从公开信息中提取有价值见解的艺术。无论您是网络安全专业人士、道德黑客还是情报分析师,OSINT 都能为您提供先进的技术,帮助您筛选海量的数字数据,发现隐藏的真相。 在本文中,我们将深入研究大量的OSINT 资源…...
22.Volatile原理
文章目录 Volatile原理1.Volatile语义中的内存屏障1.1.volatile写操作的内存屏障1.1.1.StoreStore 屏障1.1.2.StoreLoad 屏障 1.2.volatile读操作的内存屏障1.2.1.LoadStore屏障1.2.2.LoadLoad屏障 2.volatile不具备原子性2.1.原理 Volatile原理 1.Volatile语义中的内存屏障 在…...
Vue 3中的v-for指令使用详解
Vue 3中的v-for指令使用详解 一、前言1. 基本语法2. 循环渲染对象3. 在组件中使用v-for4.普通案例5. 其他用法 二、结语 一、前言 在Vue 3中,v-for指令是一个非常强大且常用的指令,它用于在模板中循环渲染数组或对象的内容。本文将为您详细介绍Vue 3中v…...
GB-T 43694-2024 网络安全技术 证书应用综合服务接口规范
编写背景 随着网络技术的发展和信息化进程的加速,网络安全问题日益凸显。为了加强网络安全管理,提升网络服务的安全性和可靠性,GB-T 43694-2024《网络安全技术 证书应用综合服务接口规范》应运而生。这份文件是 网络安全领域的标准之一&…...
AI大模型:掌握未知,开启未来
AI大模型的工作原理 AI大模型是指通过大量数据和复杂算法训练出的能够理解和生成自然语言文本的人工智能模型。它们背后的核心技术主要包括深度学习、神经网络和自然语言处理。以下是详细的工作原理以及通俗易懂的类比: 1. 数据收集和预处理 AI大模型的训练首先需…...
【C语言习题】26.字符逆序
文章目录 1.描述2.解题思路3.具体代码 1.描述 输入描述: 将一个字符串str的内容颠倒过来,并输出。可以有空格 数据范围:1≤𝑙𝑒𝑛(𝑠𝑡𝑟)≤10000 1≤len(str)≤10000 输出描述&…...
windows和linux下的库文件比较
在Windows和Linux操作系统中,库文件(lib、dll、.a、.so)都扮演着重要的角色,但它们之间存在一些关键的区别。以下是这些库文件之间的主要差异: Windows lib 静态链接库(Static Link Library)…...
第七十九节 Java面向对象设计 - Java访问级别
Java面向对象设计 - Java访问级别 类简单名称是 class 关键字和 {)之间的名称。 当我们通过简单的名称引用一个类时,编译器在引用类所在的同一个包中查找该类声明。 我们可以使用全名来引用一个类如下。 com.w3cschool.Dog aDog;指定类的访问级别的一般语法是 &…...
Vue进阶之Vue项目实战(四)
Vue项目实战 出码功能知识介绍渲染器性能调优使用 vue devtools 进行分析使用“渲染”进行分析判断打包构建的产物是否符合预期安装插件使用位置使用过程使用lighthouse分析页面加载情况使用performance分析页面加载情况应用自动化部署与发布CI/CD常见的CI/CD服务出码功能 出码…...
fix leakage脚本
芯片的PPA追求是无止境的,因而在修时序的过程中我们需要对设计修复leakage,降低芯片的静态功耗。 以下分享一个典型的leakage脚本 set design 1 set version "V1" set date [exec date %m%d%H%M] set working_directory ${design}_${version}…...
MySQL中视图是什么,有什么作用
目录 一、视图的简介 1.1 什么是视图? 1.2 为什么使用视图? 1.3 视图有哪些规则与限制? 1.4 视图能否更新? 二、视图的创建 三、视图的作用 3.1 用视图简化复杂的联结 3.2 用视图格式化检索出的数据 3.3 用视图过滤数据…...
【面试题】JavaScript基础高频面试(下)
10、Javascript 闭包是什么,闭包形成的原因和闭包的用途 ? 闭包(Closure)是 JavaScript 中的一个非常重要的概念。简单地说,闭包就是一个函数能够访问另一个函数的作用域。这是因为在 JavaScript 中,函数是一等公民&a…...
对于个人而言,大数据时代如何更好地管理自己的信息?
在大数据时代,管理个人信息变得尤为重要。以下是几个建议来更好地管理个人信息: 认识和了解自己的数字足迹:了解自己在互联网上的活动,包括浏览历史、社交媒体和在线购物数据等。通过查阅自己的帐户设置和隐私选项,可以…...
oj项目后端分析
1.菜单管理 我们菜单管理有菜单表(sys_menu),还有用户角色表(sys_role),菜单表是用于管理我们用户所拥有的权限,不同的用户所看到的页面是不一样的,由于一些用户他能够看到题库管理和考题管理,还…...
书籍学习|基于SprinBoot+vue的书籍学习平台(源码+数据库+文档)
书籍学习平台 目录 基于SprinBootvue的书籍学习平台 一、前言 二、系统设计 三、系统功能设计 1平台功能模块 2后台功能模块 5.2.1管理员功能模块 5.2.2用户功能模块 5.2.3作者功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题推荐 …...
AI学习指南数学工具篇-MATLAB中的凸优化工具
AI学习指南数学工具篇-MATLAB中的凸优化工具 在人工智能领域,凸优化是一个非常重要的数学工具,它在机器学习、深度学习、数据分析等领域都有着广泛的应用。而MATLAB作为一款强大的数学工具软件,提供了丰富的凸优化工具和函数,为用…...
散户如何参与期权交易?
期权就是股票,唯一区别标的物上证指数,会看大盘吧,期权交易两个方向认购做多,认沽做空,双向t0交易没了,期权交易跟期货一样,对的,玩的也是合约,唯一区别没有保证金不会爆…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...
Admin.Net中的消息通信SignalR解释
定义集线器接口 IOnlineUserHub public interface IOnlineUserHub {/// 在线用户列表Task OnlineUserList(OnlineUserList context);/// 强制下线Task ForceOffline(object context);/// 发布站内消息Task PublicNotice(SysNotice context);/// 接收消息Task ReceiveMessage(…...
【JVM】- 内存结构
引言 JVM:Java Virtual Machine 定义:Java虚拟机,Java二进制字节码的运行环境好处: 一次编写,到处运行自动内存管理,垃圾回收的功能数组下标越界检查(会抛异常,不会覆盖到其他代码…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...
django filter 统计数量 按属性去重
在Django中,如果你想要根据某个属性对查询集进行去重并统计数量,你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求: 方法1:使用annotate()和Count 假设你有一个模型Item,并且你想…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
08. C#入门系列【类的基本概念】:开启编程世界的奇妙冒险
C#入门系列【类的基本概念】:开启编程世界的奇妙冒险 嘿,各位编程小白探险家!欢迎来到 C# 的奇幻大陆!今天咱们要深入探索这片大陆上至关重要的 “建筑”—— 类!别害怕,跟着我,保准让你轻松搞…...
【网络安全】开源系统getshell漏洞挖掘
审计过程: 在入口文件admin/index.php中: 用户可以通过m,c,a等参数控制加载的文件和方法,在app/system/entrance.php中存在重点代码: 当M_TYPE system并且M_MODULE include时,会设置常量PATH_OWN_FILE为PATH_APP.M_T…...
