数据更新了,vue的界面没有更新?大写的why到底是为什么!!!

最近工作中,遇见了两个小问题,一时没有反应过来,特此写博客记录一下。希望下次秒反应!!

有一个界面,打开的时候,由于界面显示内容过多导致而出现了滚动条。第一次浏览窗口时,移动了滚动条到底部,此时我们关掉窗口,重新打开他他在底部。如图左,问题出现了,如何让他打开的时候如图右所示?


简单,直接让他的外层盒子scrollTop=0就可以了。诺,我的代码如下:

 let wapperBox = document.getElementById('wapper_Box');if (wapperBox) {wapperBox.scrollTop = 0;}

在打开弹窗的时候,去调用此方法即可~

但是!!!

当你尝试在mounted生命周期钩子中获取DOM元素时,可能会遇到获取不到元素的情况。这是因为在mounted钩子执行时,DOM元素可能还没有完全渲染出来。为了确保能够正确获取到DOM元素,在Vue的nextTick中获取DOM元素,因为nextTick会在DOM更新之后执行。

诺,我的正确代码如下:

 this.$nextTick(() => {let wapperBox = document.getElementById('wapper_Box');if (wapperBox) {wapperBox.scrollTop = 0;}});

另外一种情况,假如我们在处理数组层次比较深的情况下。我们改变了数组并且控制台打印出来都是理想数据的时候,界面上却显示的为非理想数据。此时要考虑两个问题:

1.数组层次比较深,我们要进行深拷贝。最后  this.basicInfo = updatedBasicInfo;进行赋值。

2.考虑nextTick。是否我们在Dom更新前去操作数据了。

 checkboxChange(e, index, item, type) {let itemName = item.text;let updatedBasicInfo = JSON.parse(JSON.stringify(this.basicInfo)); // 深度克隆数据let updatedOtherInfo = JSON.parse(JSON.stringify(this.otherInfo)); // 深度克隆数据let updatedData = [...updatedBasicInfo, ...updatedOtherInfo];let targetItem = updatedData.find((data) => data.text === itemName);if (targetItem) {targetItem.ShowCheck = e;if (e) {this.rightArr.push(targetItem);} else {let indexToRemove = this.rightArr.findIndex((obj) => obj.text === itemName);if (indexToRemove !== -1) {this.rightArr.splice(indexToRemove, 1);}}}this.basicInfo = updatedBasicInfo;this.otherInfo = updatedOtherInfo;},

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

qt完成对话框提示

#include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget) {ui->setupUi(this);//去掉头部this->setWindowFlag(Qt::FramelessWindowHint);//去掉空白this->setAttribute(Qt::WA_Transl…

HTML input 实现回车切换到下一个输入框功能

前言 遇到需求&#xff0c;在客户填写单子时&#xff0c;有多个输入框&#xff0c;为了省事&#xff0c;不需要频繁移动光标填写。 实现效果 实现方式一 HTML <input type"text" name"serialNumber1" onkeydown"cursor(this);"/><in…

是谁?阻止CXL在AI场景大展身手~

CXL虽然被视为业内新宠&#xff0c;但好像在AI场景的应用反而没有得到广泛的响应。 AI场景对内存带宽、容量以及数据一致性有着极高需求&#xff0c;特别是在深度学习训练和推理过程中&#xff0c;大量数据需要在CPU、GPU、加速器以及内存之间快速、高效地流动。CXL作为一种新…

ForkJoinPool、CAS原子操作

ForkJoinPool ForkJoinPool是由JDK1.7后提供多线程并行执行任务的框架。可以理解为一种特殊的线程池。 1.任务分割&#xff1a;Fork&#xff08;分岔&#xff09;&#xff0c;先把大的任务分割成足够小的子任务&#xff0c;如果子任务比较大的话还要对子任务进行继续分割。 …

内网靶机~~dc-2

一、信息收集 1.端口扫描&#xff1a; nmap -sV -p 1-10000 10.1.1.4 2.CMS识别 3.目录扫描&#xff1a; dirsearch http://10.1.1.4/ 4.FLAG1 似乎让我们用cewl生成密码字典&#xff0c;并爆破登录。 cewl -w rewl_passwd.txt http://dc-2/index.php/flag/ 总结&#xff…

离线Linux/openEuler服务器指定本地yum仓库

1、前提准备一个预装坏境比较完整的linux镜像文件&#xff0c;本文服务器使用的是openEuler 官网&#xff1a;openEuler下载 | 欧拉系统ISO镜像 | openEuler社区官网 2、上传镜像文件至服务器 如果是集群服务器&#xff0c;上传其中一台服务器之后&#xff0c;使用scp指令将镜…

数据结构刷题篇 之 【力扣二叉树基础OJ】详细讲解(含每道题链接及递归图解)

有没有一起拼用银行卡的&#xff0c;取钱的时候我用&#xff0c;存钱的时候你用 1、相同的树 难度等级&#xff1a;⭐ 直达链接&#xff1a;相同的树 2、单值二叉树 难度等级&#xff1a;⭐ 直达链接&#xff1a;单值二叉树 3、对称二叉树 难度等级&#xff1a;⭐⭐ 直达…

【滑动窗口】Leetcode 最大连续1的个数 III

题目解析 1004. 最大连续1的个数 III 按照k的数值将0反转成1&#xff0c;记录数组中连续1的最长个数 算法讲解 我们需要一个变量temp记录翻转的次数&#xff0c;每遇到一次0&#xff0c;temp。当temp > k的时候此时说明翻转0已经到达极限&#xff0c;已经不可以在翻转了&…

基于二级片内硬件堆栈的后向CFI 验证方法研究,第三章

随着计算机技术的发展&#xff0c;针对计算机系统的恶意攻击越来越多&#xff0c;造成了巨大的经济损失。面向返回导向编程等恶意攻击方式通过修改堆栈中程序返回地址劫持控制流&#xff0c;达到恶意攻击的目的。后向控制流完整性即返回地址的完整性验证&#xff0c;是一种保护…

Tesla技术方案解析

Tesla技术方案解析 附赠自动驾驶学习资料和量产经验&#xff1a;链接 参考&部分摘选&#xff1a; EatElephant&#xff1a;解读: Tesla Autopilot技术架构 chenq100&#xff1a;TechTips - 031: “Tesla AI Day 2021”学习笔记 All you need to know about Tesla AI Da…

基于单片机的二维码LCD显示控制设计

**单片机设计介绍&#xff0c;基于单片机的二维码LCD显示控制设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 基于单片机的二维码LCD显示控制设计是一个集硬件、软件与通信于一体的综合性项目。此设计的主要目标是实现单片机…

蓝桥备赛——堆队列

AC code import os import sys import heapq a [] b [] n,k map(int,input().split())for _ in range(n):x,y map(int,input().split())a.append(x)b.append(y) q []# 第一种情况&#xff1a;不打第n个怪兽# 将前n-1个第一次所需能量加入堆 for i in range(n-1):heapq.h…

Doris实践——叮咚买菜基于OLAP引擎的应用实践

目录 前言 一、业务需求 二、选型与对比 三、架构体系 四、应用实践 4.1 实时数据分析 4.2 B端业务查询取数 4.3 标签系统 4.4 BI看板 4.5 OLAP多维分析 五、优化经验 六、总结 原文大佬介绍的这篇Doris数仓建设实践有借鉴意义的&#xff0c;这些摘抄下来用作沉淀学…

NFT Insider #125:Astar将与索尼开发的新公链将关注游戏或 NFT 等众多领域

引言&#xff1a;NFT Insider由NFT收藏组织WHALE Members &#xff08;https://twitter.com/WHALEMembers&#xff09;、BeepCrypto &#xff08;https://twitter.com/beep_crypto&#xff09;联合出品&#xff0c;浓缩每周NFT新闻&#xff0c;为大家带来关于NFT最全面、最新鲜…

TR2 - Transformer模型的复现

目录 理论知识模型结构结构分解黑盒两大模块块级结构编码器的组成解码器的组成 模型实现多头自注意力块前馈网络块位置编码编码器解码器组合模型最后附上引用部分 模型效果总结与心得体会 理论知识 Transformer是可以用于Seq2Seq任务的一种模型&#xff0c;和Seq2Seq不冲突。 …

STL —— vector(1)

博主首页&#xff1a; 有趣的中国人 专栏首页&#xff1a; C专栏 本篇文章主要讲解vector使用的相关内容 1. vector简介 vector 是 C 标准库中的一个容器类模板&#xff0c;它提供了动态数组的功能&#xff0c;可以方便地管理和操作元素的集合。下面是关于 vector 的一些基本信…

NRF24L01P和SI24R1的区别

NRF24L01无线模块广泛地运用于&#xff1a;无线门禁、无线数据通讯、安防系统、遥控装置、遥感 勘测、智能运动设备、工业传感器&#xff1b;平常我们用到的无线鼠标基本上采用的都是NORDIC的N RF24L01无线模块方案&#xff0c;而且&#xff0c;只需要一个5号电池即可。 几年前…

HarmonyOS实战开发-如何实现一个自定义抽奖圆形转盘

介绍 本篇Codelab是基于画布组件、显式动画&#xff0c;实现的一个自定义抽奖圆形转盘。包含如下功能&#xff1a; 通过画布组件Canvas&#xff0c;画出抽奖圆形转盘。通过显式动画启动抽奖功能。通过自定义弹窗弹出抽中的奖品。 相关概念 Stack组件&#xff1a;堆叠容器&am…

详解TCP的三次握手和四次挥手

文章目录 1. TCP报文的头部结构2. 三次握手的原理与过程三次握手连接建立过程解析 3. 四次挥手的原理与过程四次挥手连接关闭过程的解析 4. 常见面试题 深入理解TCP连接&#xff1a;三次握手和四次挥手 在网络通信中&#xff0c;TCP&#xff08;传输控制协议&#xff09;扮演着…

人才推荐 | 材料化学博士,热衷于创新且可扩展的电池技术开发

编辑 / 木子 审核 / 朝阳 伟骅英才 伟骅英才致力于以大数据、区块链、AI人工智能等前沿技术打造开放的人力资本生态&#xff0c;用科技解决职业领域问题&#xff0c;提升行业数字化服务水平&#xff0c;提供创新型的产业与人才一体化服务的人力资源解决方案和示范平台&#x…