Vue3点击事件实现使table中最后一列可编辑的同时,表格中的滚动条自动滚动到该列位置

这个小功能我大概花了小半天的时间才实现,所以无比痛恨给我提这个需求的人,还好最后没有放弃,谨以此博客作为记录我被迫走上前端之路的第n天!!!
代码来自项目里面的一部分,所以可能有点乱#@&

点击事件:
这里当isEdit值为true时显示保存,否则显示历史回溯

 <div class="import" @click="historyBack"> {{ isEdit ? '保存' : '历史回溯' }}</div>

表格:

  • 下述代码中,id="tableRef"是一定要设置的,tableRef可自定义,不用跟我一样,但是js里面用的时候要保持同步
 <Table :columns="columns" :data-source="dataSource" :pagination="false" :bordered="true":scroll="{ x: 'max-content', y: 'calc(100vh - 200px)' }" rowKey="info_date" id="tableRef"><template #bodyCell="{ column, text, index }"><!--如果该列为deviation_cause,则进行自定义设置--><template v-if="column.dataIndex == 'deviation_cause'"><!--如果isEdit为true,显示文本输入框,否则显示text--><span v-if="isEdit"><Input.TextArea v-model:value="dataSource[index][column.dataIndex]" /></span><div v-else>{{ text }}</div></template></template></Table>

js部分实现:

const isEdit = ref(false); // 定义并初始化isEdit
// 历史回溯
const historyBack = () => {isEdit.value = !isEdit.value; // 点击事件发生,isEdit值随之变化// 这一部分就是实现滚动条滑倒最后的核心代码nextTick(() => {const table = document.getElementById('tableRef'); //定位到表格if (table) {const scrollableArea = table.querySelector('.ant-table-body'); // 组件用的是antd的表格if (scrollableArea) {scrollableArea.scrollLeft = scrollableArea.scrollWidth; //滚动条滚动到最右侧}}});
}

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

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

相关文章

作文笔记6 写作顺序

时间顺序 举例&#xff1a;清晨 中午 傍晚&#xff0c;一般用来写景物 空间顺序/游览顺序 上下左右&#xff0c;前后内外 事情发展顺序 故事一般按照该顺序&#xff0c;起因&#xff0c;经过&#xff0c;结果 逻辑顺序 事理说明文&#xff0c;比如说一个事物&#xff0c…

【汇编】存储器

存储器 计算机存储器可分为内部存储器&#xff08;又称内存或主存&#xff09;和外部存储器&#xff0c;其中内存是CPU能直接寻址的储存空间&#xff0c;由半导体器件制成 存储单元的地址和内容 计算机存储信息的基本单位是一个二进制位&#xff0c;一位可存储一个二进制数&…

企业利器大曝光:CRM系统功能剖析

企业存在的根本目标是吸引并留住顾客。为了能够追踪顾客的信息以及与他们保持联系&#xff0c;不论企业规模大小&#xff0c;都长期使用了多种传统的手工方式。——彼得德鲁克 CRM系统的功能有哪些&#xff1f;如何做客户管理一直是企业管理中的热门话题&#xff0c;CRM&#…

[大模型]Qwen1.5-7B-Chat-GPTQ-Int4 部署环境

Qwen1.5-7B-Chat-GPTQ-Int4 部署环境 说明 Qwen1.5-72b 版本有BF16、INT8、INT4三个版本&#xff0c;三个版本性能接近。由于BF16版本需要144GB的显存&#xff0c;让普通用户忘却止步&#xff0c;而INT4版本只需要48GB即可推理&#xff0c;给普通用户本地化部署创造了机会。&…

C语言——数据在内存中的存储

引言 数据是程序运行的核心。当我们用C语言编写程序时&#xff0c;我们实际上是在操纵内存中的数据。这些数据在内存中是如何储存的&#xff0c;今天我们就来学习这些内容。 基本数据类型 1.整型 int: 基本整型&#xff0c;通常占用4个字节 short: 短整型&#xff0c;通常占用…

图像处理特征提取

图像处理中的特征提取是指从图像数据中提取出具有区分性和代表性的特征&#xff0c;以用于图像分类、目标检测、图像匹配等任务。下面介绍几种常见的图像处理特征提取方法&#xff1a; 颜色特征&#xff1a;颜色是图像中最直观且重要的特征之一。常见的颜色特征提取方法包括颜色…

zustand状态库在react类组件中使用

如果想在React类组件中使用zustand状态管理库&#xff0c;可以在类组件中调用create函数创建一个状态store&#xff0c;并使用useStore钩子来访问和更新状态。虽然zustand通常与函数式组件一起使用&#xff0c;但也可以在类组件中使用。 以下是一个简单的示例&#xff0c;展示…

MS软件Perl脚本提能培训方案

热忱欢迎贵公司选派研发人员参加铜陵浩辰科技有限公司举办的《MS软件Perl脚本提能培训方案》&#xff0c;此次培训将特邀具有多年授课经验的老师主讲。 一、培训概述 本培训旨在提高学员Perl脚本编写能力&#xff0c;能实现自行编写脚本&#xff0c;提高Perl脚本进行高级分析…

Gradle 在 Spring 中的使用-ApiHug准备-工具篇-006

&#x1f917; ApiHug {Postman|Swagger|Api...} 快↑ 准√ 省↓ GitHub - apihug/apihug.com: All abou the Apihug apihug.com: 有爱&#xff0c;有温度&#xff0c;有质量&#xff0c;有信任ApiHug - API design Copilot - IntelliJ IDEs Plugin | Marketplace ApiHug …

【计算机组成原理】CISC和RISC

目录 前言1. CISC&#xff08;复杂指令集计算&#xff09;2. RISC&#xff08;精简指令集计算&#xff09;3. 差异 前言 对于这方面的知识常见于408或者软考 CISC&#xff08;Complex Instruction Set Computing&#xff09;和RISC&#xff08;Reduced Instruction Set Compu…

【arduino】控制N位数码管

以下以四位共阳极数码管为例&#xff1b; 本文所有说明均以注释的方式进行。 使用方法&#xff1a; #include "DigitalTube.h" //每位共阳极对应的引脚int digital[4] {8, 11, 12, 7};//参数分别为a f b g e c d dp digital(共阳极引脚数组) length(digital长度)D…

LRUCache原理及源码实现

目录 LRUCache简介&#xff1a; LRUCache的实现&#xff1a; LinkedHashMap方法实现&#xff1a; 自己实现链表&#xff1a; 前言&#xff1a; 有需要本文章源码的友友请前往&#xff1a;LRUCache源码 LRUCache简介&#xff1a; LRU是Least Recently Used的缩写&#xf…

ChatGPT-4 Turbo 今天开放啦!附如何查询GPT-4 是否为 Turbo

2024年4月12日&#xff0c;OpenAI在X上宣布GPT-4 Turbo开放了&#xff01;提高了写作、数学、逻辑推理和编码方面的能力。另外最重要的是&#xff0c;响应速度更快了&#xff01;&#xff01; ChatGPT4 Turbo 如何升级&#xff1f;解决国内无法升级GPT4 Turbo的问题&#xff0…

设计模式-代理模式(Proxy)

1. 概念 代理模式&#xff08;Proxy Pattern&#xff09;是程序设计中的一种结构型设计模式。它为一个对象提供一个代理对象&#xff0c;并由代理对象控制对该对象的访问。 2. 原理结构图 抽象角色&#xff08;Subject&#xff09;&#xff1a;这是一个接口或抽象类&#xff0…

ros2 launch gazebo_ros gazebo.launch.py无法启动

我的系统是ubuntu20.04&#xff0c;ros2的版本是humble&#xff0c;当运行gazebo仿真时&#xff0c;运行 ros2 launch gazebo_ros gazebo.launch.py命令&#xff0c;会出现以下问题&#xff1a; 此时&#xff0c;这个页面会卡死在第六行&#xff0c;gazebo也不会打开 但最后单…

Element Plus的deep穿透

Element Plus的deep穿透主要用于解决在Vue3项目中使用Element Plus组件库时&#xff0c;样式设置不生效的问题。当直接在Element Plus组件上使用样式时&#xff0c;由于Element Plus的样式是通过外部样式文件实现的&#xff0c;这些样式的优先级更高&#xff0c;因此直接添加的…

009优化器

优化器的逻辑 优化器选择索引的目的是选择一个执行方案&#xff0c;用最小的代价去执行语句。 数据库里影响执行代价的因素。 1&#xff09;扫描行数 &#xff0c;扫描的行数越少&#xff0c;意味着访问磁盘的数据的次数越小&#xff0c;消耗cpu的资源越少 2&#xff09;是…

threejs--02threejs手册起步+进阶

快速过一下基本用法 01 场景 //场景、相机和渲染器 const scene new THREE.Scene(); const camera new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );const renderer new THREE.WebGLRenderer(); renderer.setSize( window.innerWi…

哈希函数算法

概述 为了实现哈希集合这一数据结构&#xff0c;有以下几个关键问题需要解决&#xff1a; 哈希函数&#xff1a;能够将集合中任意可能的元素映射到一个固定范围的整数值&#xff0c;并将该元素存储到整数值对应的地址上。冲突处理&#xff1a;由于不同元素可能映射到相同的整…

【vue】Pinia-1 入门

简介 Pinia是Vue.js的一个状态管理库&#xff0c;由Vue.js官方维护。它提供了一种简单而强大的方式来管理Vue.js应用程序中的状态。 应用场景&#xff1a;用户登录 解决问题 Pinia是全局的状态管理&#xff0c;所有组件都可看到 避免了组件间的大量数据交换简化了组件间的通…