​​ 翻页 上一页/下一页

news2024/7/30 3:45:08

data里面定义 

currentPage: 0   // 当前页数

 created

初始化时赋值  this.formProps 是表格 要求是对象
this.contractArr 是传过来要进行分页的数组对象 初始化显示第一个

created() {
    this.formProps = this.contractArr[0]
 }

 html页面

<div>
    <div>
        // 左箭头
        <span v-if="currentPage > 0" @click="prevPage"> 还有上一页
            <img src="@/assets/home/left_one.svg" alt="">
        </span>
        <span v-else @click="prevPage">   没有上一页
            <img src="@/assets/home/left_two.svg" alt="">
        </span>
    </div>

    <div>
        // 右箭头
        <span v-if="currentPage < contractArr.length-1" @click="nextPage">  还有下一页
            <img src="@/assets/home/right_one.svg" alt="">
        </span>
        <span v-else @click="nextPage">   没有下一页
            <img src="@/assets/home/right_two.svg" alt="">
        </span>
    </div>
</div>

js

进行翻页的时候 page--或者++ ...是浅拷贝 
上一页
 prevPage() {
    if (this.currentPage > 0) {
        this.currentPage--
        this.formProps = {...this.contractArr[this.currentPage]}
    }else{
        this.$message({
          message: '没有上一页了',
          type: 'warning'
        });
    }
},
下一页
nextPage() {
    if (this.currentPage < this.contractArr.length-1) {
        this.currentPage++
        this.formProps = {...this.contractArr[this.currentPage]}
     }else{
        this.$message({
          message: '没有下一页了',
          type: 'warning'
       });
     }
},
watch: {
    监听 formProps 的变化 
    当他改变的时候就说明这个表格被填写了 
    formProps: {
      handler:function(newval, oldval) {
        if(newval){
          let index = this.contractArr.findIndex(i => i.id == newval.id)
          if(index != -1){
            this.contractArr.splice(index, 1, newval)
            将这个新值对象替换之前的旧值对象
            这样就拿到了新修改的值和其他未修改的值 
            直到全部赋值成新值
          }
        }
      },
      deep: true
    },
    这个是因为拿过来的值 包含小数点 所以进行监听去除小数点
    'formProps.quality':{
      handler:function(newval, oldval) {
        this.formProps.quality = Number(this.formProps.quality)
      },
      deep: true
    },
    'formProps.speed':{
      handler:function(newval, oldval) {
        this.formProps.speed = Number(this.formProps.speed)
      },
      deep: true
    },
    'formProps.service':{
      handler:function(newval, oldval) {
        this.formProps.service = Number(this.formProps.service)
      },
      deep: true
    },
  },
最后可以使用 every 进行判断

若有一个不满足条件,则返回false,后面的元素都不会再执行。

不会对空数组进行检测,不会改变原始数组

这样就可以知道哪些数据没有填

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

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

相关文章

鸿蒙语言基础类库:【@ohos.util.Deque (线性容器Deque)】

线性容器Deque 说明&#xff1a; 本模块首批接口从API version 8开始支持。后续版本的新增接口&#xff0c;采用上角标单独标记接口的起始版本。 Deque&#xff08;double ended queue&#xff09;根据循环队列的数据结构实现&#xff0c;符合先进先出以及先进后出的特点&…

【电脑应用技巧】如何寻找电脑应用的安装包华为电脑、平板和手机资源交换

电脑的初学者可能会直接用【百度】搜索电脑应用程序的安装包&#xff0c;但是这样找到的电脑应用程序安装包经常会被加入木马或者强制捆绑一些不需要的应用装入电脑。 今天告诉大家一个得到干净电脑应用程序安装包的方法&#xff0c;就是用【联想的应用商店】。联想电脑我是一点…

接口测试(2)

单接口测试 CtrlD 复制 因为单接口的时候主要改变测试用例数据 自动判定响应结果 postman断言 //断言响应状态码为200 pm.test("Status code is 200", function () {pm.response.to.have.status(200); }); //断言返回数据中包括&#xff08;成功&#xff09; //预期结…

深度学习的数学PDF

链接: https://pan.baidu.com/s/1_jScZ7dcyAWGqbrad6bbCQ?pwd9gj9 提取码: 9gj9 复制这段内容后打开百度网盘手机App&#xff0c;操作更方便哦

探讨3D沉浸式在线会议系统的研发 - Meta演示的元宇宙虚拟化身多人对话场景,Web端现在也可以实现了 !

要实现一个元宇宙多人会议系统&#xff0c;关键技术有&#xff1a; 1. 3D虚拟空间的构建&#xff08;含光影特效、虚拟现实和增强现实&#xff09; 2. 3D虚拟化身的构建&#xff08;含动画、表情、语音&#xff09; 3. 多人角色管理 4. 会话控制和信息同步 5. 语音合成 6…

展开说说:Android服务之实现AIDL跨应用通信

前面几篇总结了Service的使用和源码执行流程&#xff0c;这里再简单分析一下如果需要Service跨进程通信该怎样做。AIDL&#xff08;Android Interface Definition Language&#xff09;Android接口定义语言&#xff0c;用于实现 Android 两个进程之间进行进程间通信&#xff08…

低资源低成本评估大型语言模型(LLMs)

随着新的大型语言模型&#xff08;LLMs&#xff09;的持续发展&#xff0c;从业者发现自己面临着众多选择&#xff0c;需要从数百个可用选项中选择出最适合其特定需求的模型、提示[40]或超参数。例如&#xff0c;Chatbot Arena基准测试平台积极维护着近100个模型&#xff0c;以…

PID控制与模糊PID控制的比较

一、PID控制器的设计 1.PID控制原理图&#xff1a; PID控制其结构框图如下图所示&#xff1a; 图1&#xff1a;PID控制器结构框图 2.PID控制器传递函数的一般表达式 PID控制器传递函数的一般表达形式为&#xff1a; 其中kp为比例增益&#xff1b;ki为积分增益&#xff1b;k…

ESLint: Delete `␍`(prettier/prettier)解决问题补充

如果你是克隆的&#xff0c;参考这位大佬的文章 vue.js - Delete ␍eslint(prettier/prettier) 错误的解决方案 - 个人文章 - SegmentFault 思否 如果你是个人在本地实现&#xff0c;且改为 仍旧报错&#xff0c;我解决的方案&#xff1a; 改为&#xff0c;同时勾选和我配置一…

020-GeoGebra中级篇-几何对象之点与向量

本文概述了在GeoGebra中如何使用笛卡尔或极坐标系输入点和向量。用户可以通过指令栏输入数字和角度&#xff0c;使用工具或指令创建点和向量。在笛卡尔坐标系中&#xff0c;示例如“P(1,0)”&#xff1b;在极坐标系中&#xff0c;示例如“P(1;0)”或“v(5;90)”。文章还介绍了点…

倒计时1天!飞思实验室暑期公益培训,7月10日不见不散

01培训背景 很荣幸地向大家宣布&#xff1a;卓翼飞思实验室将于7月10日正式开启为期两个月的暑期公益培训&#xff01;本次培训为线上直播&#xff0c;由中南大学计算机学院特聘副教授&#xff0c;RflySim平台总研发负责人戴训华副教授主讲。 培训将基于“RflySim—智能无人集…

74HC14使用陶瓷晶振产生振荡成功

之前实验这个ic陶瓷振子&#xff0c;结果是不起振&#xff0c;之前用的是并联模式。可能参数不适合。一直没有起振。 今天又翻阅了很多陶瓷谐振器的电路&#xff0c;看到有串联模式的电路&#xff0c;就来实验了一下。结果成功了。电路如下&#xff1a; 测试结果&#xff1a;陶…

【高校科研前沿】中国农业大学姚晓闯老师等人在农林科学Top期刊发表长篇综述:深度学习在农田识别中的应用

文章简介 论文名称&#xff1a;Deep learning in cropland field identification: A review&#xff08;深度学习在农田识别中的应用&#xff1a;综述&#xff09; 第一作者及单位&#xff1a;Fan Xu&#xff08;中国农业大学土地科学与技术学院&#xff09; 通讯作者及单位&…

退出的微信群怎么恢复?这3个小技巧了解下

在日常使用微信的过程中&#xff0c;我们可能会因为各种原因退出某个微信群。然而&#xff0c;退出后才发现群里有重要的信息或文件需要查看&#xff0c;这时该怎么办呢&#xff1f;许多人都会问&#xff1a;退出的微信群怎么恢复&#xff1f;事实上&#xff0c;微信提供了一些…

生成随机密码

生成8位无重复的密码&#xff08;可以包含数字、大小写字母&#xff09; import random import string character string.digits string.ascii_letters password .join(random.sample(character, 8)) print(f"生成的随机密码为:{password}")

我们公司落地大模型的路径、方法和坑

我们公司落地大模型的路径、方法和坑 李木子 AI大模型实验室 2024年07月02日 18:35 北京 最近一年&#xff0c;LLM&#xff08;大型语言模型&#xff09;已经成熟到可以投入实际应用中了。预计到 2025 年&#xff0c;AI 领域的投资会飙升到 2000 亿美元。现在&#xff0c;不只…

C++:多态(继承)

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《C&#xff1a;多态》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 :maple_leaf:多态的概念:maple_leaf:继承中的多态1.:leaves:虚函数表 :…

BKP备份寄存器和实时时钟笔记

BKP&#xff08;Backup Registers&#xff09;备份寄存器 BKP可用于存储用户应用程序数据。当VDD&#xff08;2.0~3.6V&#xff09;电源被切断&#xff0c;他们仍然由VBAT&#xff08;1.8~3.6V&#xff09;维持供电。当系统在待机模式下被唤醒&#xff0c;或系统复位或电源复位…

Linux 网络--TCP协议收包流程(NAPI机制)

Linux 网络--TCP协议收包流程&#xff08;NAPI机制&#xff09; 平台环境简介&#xff1a;宿主机: ubuntu18.04Linux内核源码版本: Linux-4.15网卡驱动: Intel e1000 &#xff08;ubuntu 虚拟机默认网卡驱动&#xff09;协议&#xff1a;TCP协议&#xff0c;本文分析收包过程 本…

Django 更新数据 save()方法

1&#xff0c;添加模型 Test/app11/models.py from django.db import modelsclass Post(models.Model):title models.CharField(max_length200)content models.TextField()pub_date models.DateTimeField(date published)class Book(models.Model):title models.CharFie…