当前位置:   article > 正文

​​ 翻页 上一页/下一页

​​ 翻页 上一页/下一页

data里面定义 

currentPage: 0   // 当前页数

 created

  1. 初始化时赋值 this.formProps 是表格 要求是对象
  2. this.contractArr 是传过来要进行分页的数组对象 初始化显示第一个
  3. created() {
  4. this.formProps = this.contractArr[0]
  5. }

 html页面

  1. <div>
  2. <div>
  3. // 左箭头
  4. <span v-if="currentPage > 0" @click="prevPage"> 还有上一页
  5. <img src="@/assets/home/left_one.svg" alt="">
  6. </span>
  7. <span v-else @click="prevPage"> 没有上一页
  8. <img src="@/assets/home/left_two.svg" alt="">
  9. </span>
  10. </div>
  11. <div>
  12. // 右箭头
  13. <span v-if="currentPage < contractArr.length-1" @click="nextPage"> 还有下一页
  14. <img src="@/assets/home/right_one.svg" alt="">
  15. </span>
  16. <span v-else @click="nextPage"> 没有下一页
  17. <img src="@/assets/home/right_two.svg" alt="">
  18. </span>
  19. </div>
  20. </div>

js

  1. 进行翻页的时候 page--或者++ ...是浅拷贝
  2. 上一页
  3. prevPage() {
  4. if (this.currentPage > 0) {
  5. this.currentPage--
  6. this.formProps = {...this.contractArr[this.currentPage]}
  7. }else{
  8. this.$message({
  9. message: '没有上一页了',
  10. type: 'warning'
  11. });
  12. }
  13. },
  14. 下一页
  15. nextPage() {
  16. if (this.currentPage < this.contractArr.length-1) {
  17. this.currentPage++
  18. this.formProps = {...this.contractArr[this.currentPage]}
  19. }else{
  20. this.$message({
  21. message: '没有下一页了',
  22. type: 'warning'
  23. });
  24. }
  25. },
  1. watch: {
  2. 监听 formProps 的变化
  3. 当他改变的时候就说明这个表格被填写了
  4. formProps: {
  5. handler:function(newval, oldval) {
  6. if(newval){
  7. let index = this.contractArr.findIndex(i => i.id == newval.id)
  8. if(index != -1){
  9. this.contractArr.splice(index, 1, newval)
  10. 将这个新值对象替换之前的旧值对象
  11. 这样就拿到了新修改的值和其他未修改的值
  12. 直到全部赋值成新值
  13. }
  14. }
  15. },
  16. deep: true
  17. },
  18. 这个是因为拿过来的值 包含小数点 所以进行监听去除小数点
  19. 'formProps.quality':{
  20. handler:function(newval, oldval) {
  21. this.formProps.quality = Number(this.formProps.quality)
  22. },
  23. deep: true
  24. },
  25. 'formProps.speed':{
  26. handler:function(newval, oldval) {
  27. this.formProps.speed = Number(this.formProps.speed)
  28. },
  29. deep: true
  30. },
  31. 'formProps.service':{
  32. handler:function(newval, oldval) {
  33. this.formProps.service = Number(this.formProps.service)
  34. },
  35. deep: true
  36. },
  37. },
  1. 最后可以使用 every 进行判断
  2. 若有一个不满足条件,则返回false,后面的元素都不会再执行。
  3. 不会对空数组进行检测,不会改变原始数组
  4. 这样就可以知道哪些数据没有填

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/809157
推荐阅读
相关标签
  

闽ICP备14008679号