SSM项目实战-前端-添加分页控件-调正页面布局

1、Index.vue

<template>
  <div class="common-layout">
    <el-container>
      <el-header>
        <el-row>
          <el-col :span="24"><el-button type="primary" plain @click="toAdd">新增</el-button></el-col>
        </el-row>
      </el-header>
      <el-main>
        <el-row>
          <el-col :span="24">
            <div style="widht:100%;border:0 solid red;">
              <el-table :data="schedulePageInfo.list" style="width: 800px;">
                <el-table-column label="编号" width="180">
                  <template #default="scope">
                    <div style="display: flex; align-items: center">
                      <span style="margin-left: 10px">{{ scope.row.sid }}</span>
                    </div>
                  </template>
                </el-table-column>
                <el-table-column label="标题" width="180">
                  <template #default="scope">
                    <div style="display: flex; align-items: center">
                      <span style="margin-left: 10px">{{ scope.row.title }}</span>
                    </div>
                  </template>
                </el-table-column>
                <el-table-column label="是否完成" width="180">
                  <template #default="scope">
                    <div style="display: flex; align-items: center">
                      <span style="margin-left: 10px">{{ scope.row.completed ? '完成' : '未完成' }}</span>
                    </div>
                  </template>
                </el-table-column>

                <el-table-column label="其他操作">
                  <template #default="scope">
                    <el-button size="small" @click="handleEdit(scope.row)">Edit</el-button>
                    <el-button size="small" type="danger" @click="handleDelete(scope.row.id)">Delete</el-button>
                  </template>
                </el-table-column>
              </el-table>
            </div>
          </el-col>
        </el-row>
      </el-main>
      <el-footer>
        <el-row>
          <el-col :span="24">
            <el-pagination layout="prev, pager, next" v-model:current-page="schedulePageInfo.pageNum"
                           :page-size="schedulePageInfo.pageSize"
                           :total="schedulePageInfo.total" @current-change="handleCurrentChange"/>
            <el-dialog v-model="dialogFormVisible" title="Shipping address">
              <el-form :model="form">
                <el-form-item label="标题" >
                  <el-input v-model="form.title" autocomplete="off" />
                </el-form-item>
                <el-form-item label="Zones" >
                  <el-radio-group v-model="form.completed">
                    <el-radio :label="true">完成</el-radio>
                    <el-radio :label="false">未完成</el-radio>
                  </el-radio-group>
                </el-form-item>
              </el-form>
              <template #footer>
              <span class="dialog-footer">
                <el-button @click="dialogFormVisible = false">取消</el-button>
                <el-button type="primary" @click="saveOrUpdate">确定</el-button>
              </span>
              </template>
            </el-dialog>
          </el-col>
        </el-row>
      </el-footer>
    </el-container>
  </div>
</template>

<script lang="ts" setup>
import {delSchedule, getScheduleList, saveSchedule, updateSchedule} from '../api/schedule.js';
import {onMounted, reactive, ref} from 'vue';
import {ElMessage, ElMessageBox} from "element-plus";
import {userStore} from '../store/sysUserStore';

let currUser = userStore();

let dialogFormVisible = ref(false);

let form = reactive({
  id: 0,
  title: '',
  completed: false
})

let form0 = reactive({
  id: 0,
  title: '',
  completed: false
})
let resetFormData = () => {
  Object.assign(form, form0);
}
let schedulePageInfo=reactive({
  total: 0,
  list:[],
  pageNum: 1,
  pageSize: 3,
  pages: 0,
  navigatepageNums: [],
  msg: '',
})
let scheduleList = reactive([])

let queryvo=reactive({
  uid:1,
  pageNum: 1,
})

let handleCurrentChange=(num)=>{
  queryvo.pageNum = num;
  loadData()
}

let loadData = () => {

  getScheduleList(queryvo).then(response => {
    Object.assign(schedulePageInfo, response.data.data)
  })
}

let saveOrUpdate = () => {
  if (form.id === 0) {
    save();
  } else {
    update();
  }
}

let save = async () => {
  await saveSchedule(form)
  dialogFormVisible.value = false
  resetFormData();
  loadData();
}

let toAdd = () => {
  resetFormData();
  dialogFormVisible.value = true;
}

onMounted(() => {
  queryvo.uid=currUser.uid
  queryvo.pageNum=1
  loadData();
})

let update = async () => {
  await updateSchedule(form)
  dialogFormVisible.value = false
  loadData();
}

interface scheduleList {
  id: Number
  title: string
  completed: boolean
}

const handleEdit = row => {
  dialogFormVisible.value = true;
  Object.assign(form, row);
}
const handleDelete = id => {

  ElMessageBox.confirm(
      '是否确认删除?',
      '提示',
      {
        confirmButtonText: '是',
        cancelButtonText: '否',
        type: 'warning',
      }
  )
      .then(async () => {
        await delSchedule(id)
        dialogFormVisible.value = false
        loadData();
      })
      .catch(() => {
        ElMessage({
          type: 'info',
          message: '你取消了操作',
        })
      })
};
</script>

 2、@current-change

            <el-pagination layout="prev, pager, next" v-model:current-page="schedulePageInfo.pageNum"
                           :page-size="schedulePageInfo.pageSize"
                           :total="schedulePageInfo.total" @current-change="handleCurrentChange"/>

@current-change 是 Vue.js 的一个事件监听器,它监听的是current-page的变化。当current-page的值发生改变时,会触发这个事件,并执行handleCurrentChange方法。

在你的 <el-pagination> 组件中,v-model:current-page="schedulePageInfo.pageNum" 是一个双向数据绑定,它将 <el-pagination> 组件的当前页码与你的 Vue 实例的 schedulePageInfo.pageNum 属性绑定在一起。当用户通过 <el-pagination> 组件的 UI 改变当前页码时,schedulePageInfo.pageNum 的值也会相应地改变。

当 schedulePageInfo.pageNum 的值改变时(即当前页码发生改变),@current-change 事件就会被触发,然后调用 handleCurrentChange 方法。你可以在 methods 中定义 handleCurrentChange 方法,以处理当前页码变化后的逻辑。例如,你可能需要根据新的页码从服务器获取新的数据,或者更新 UI 来显示当前页码等。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华清远见嵌入式学习——C++——作业3

作业要求&#xff1a; 代码&#xff1a; #include <iostream>using namespace std;class Per { private:string name;int age;double *high;double *weight; public://有参构造函数Per(string n,int a,double h,double w):name(n),age(a),high(new double(h)),weight(ne…

CoreDNS实战(一)-构建高性能、插件化的DNS服务器

1 概述 在企业高可用DNS架构部署方案中我们使用的是传统老牌DNS软件Bind, 但是现在不少企业内部流行容器化部署&#xff0c;所以也可以将Bind替换为 CoreDNS &#xff0c;由于 CoreDNS 是 Kubernetes 的一个重要组件&#xff0c;稳定性不必担心&#xff0c;于此同时还可将K8S集…

QT之QString

QT之QString 添加容器 点击栅格布局 添加容器&#xff0c;进行栅格布局 布局总结&#xff1a;每一个模块放在一个Group中&#xff0c;排放完之后&#xff0c;进行栅格布局。多个Group进行并排时&#xff0c;先将各个模块进行栅格布局&#xff0c;然后都选中进行垂直布…

Python中对数组连续赋值的问题

问题描述 在python中&#xff0c;首先用两个等号对两个数组进行初始化并赋值。之后&#xff0c;对任何一个数组进行赋值&#xff0c;都会将其赋予相同值。 import numpy as np Array1 Array2 np.empty(2) Array1[0],Array2[0]70,80 print(Array1[0],Array2[0])80.0 80.0 …

Learning Normal Dynamics in Videos with Meta Prototype Network 论文阅读

文章信息&#xff1a;发表在cvpr2021 原文链接&#xff1a; Learning Normal Dynamics in Videos with Meta Prototype Network 摘要1.介绍2.相关工作3.方法3.1. Dynamic Prototype Unit3.2. 视频异常检测的目标函数3.3. 少样本视频异常检测中的元学习 4.实验5.总结代码复现&a…

【电机控制】PMSM无感foc控制(六)相电流检测及重构 — 双电阻采样、三电阻采样

0. 前言 目前&#xff0c;永磁同步电机的电流信号采样方法应用较多的是分流电阻采样&#xff0c;包括单电阻、双电阻以及三电阻采样法。其中&#xff0c;单电阻采样上一章节已经讲解&#xff0c;这章讲双电阻以及三电阻电流采样法。 1. 双电阻采样 1.1 双电阻采样原理 双电阻采…

FPGA时序分析与时序约束(一)

一、为什么要进行时序分析和时序约束 PCB通过导线将具有相关电气特性的信号相连接&#xff0c;这些电气信号在PCB上进行走线传输时会产生一定的传播延时。 而FPGA内部也有着非常丰富的可配置的布线资源&#xff0c;能够让位于不同位置的逻辑资源块、时钟处理单元、BLOCK RAM、D…

线性回归 numpy实现线性回归

手写线性回归 使用numpy随机生成数据 import numpy as np import matplotlib.pyplot as plt# 生成模拟数据 np.random.seed(42) X 2 * np.random.rand(200, 1) y 4 3 * X np.random.randn(200, 1)# 可视化数据 plt.scatter(X, y) plt.xlabel(X) plt.ylabel(y) plt.title(…

MFC发送ZPL指令控制斑马打印机

1、参考1&#xff1a;用Python操控斑马打印机的技术总结 - 重拾初心的青年人 - 博客园 (cnblogs.com) 参考2&#xff1a;VC斑马打印机_vc zpl-CSDN博客 参考3&#xff1a;斑马打印机ZPL语言编程实战_梅长酥的博客-CSDN博客 参考4&#xff1a;关于斑马打印机开发的几种方式_斑马…

人工智能的新篇章:深入了解大型语言模型(LLM)的应用与前景

项目设计集合&#xff08;人工智能方向&#xff09;&#xff1a;助力新人快速实战掌握技能、自主完成项目设计升级&#xff0c;提升自身的硬实力&#xff08;不仅限NLP、知识图谱、计算机视觉等领域&#xff09;&#xff1a;汇总有意义的项目设计集合&#xff0c;助力新人快速实…

pbootcms建站

pbootcms建站 一、下载pbootcms二、安装1、进入宝塔面在网站栏&#xff0c;新建站点&#xff0c;将该址里面文件全部清再将下载的pbootcms上传至该地址。 三、修改关联数据库1、在根目录下/config打开database.php照如下修改这里我使用mysqli数据库。修改并使用自已创建的数据库…

JAVA-作业7-画一个笑脸

要求如题 代码如下&#xff1a; SmileFace01: import java.awt.Color; import java.awt.Graphics;import javax.swing.JPanel;public class SmileFace01 extends JPanel {Overrideprotected void paintComponent(Graphics g) {super.paintComponent(g);int width getWidth(…

基于springboot+vue的景区民宿预约系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

代码随想录day5 哈希表part 01 242.有效的字母异位词 349. 两个数组的交集 202. 快乐数 1. 两数之和

当我们遇到了要快速判断一个元素是否出现集合里的时候&#xff0c;就要考虑哈希法。 哈希碰撞&#xff1a;1、拉链法&#xff1a;其实拉链法就是要选择适当的哈希表的大小&#xff0c;这样既不会因为数组空值而浪费大量内存&#xff0c;也不会因为链表太长而在查找上浪费太多时…

Stable Diffusion AI绘画系列【13】:毛茸茸的可爱动物们

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

cmd查看进程信息 终止进程

cmd查看进程信息 终止进程 1、cmd查看进程信息2、终止进程 1、cmd查看进程信息 tasklist命令 描述: 该工具显示在本地或远程机器上当前运行的进程列表。 tasklist /?查看本机所有进程列表 tasklist /V根据进程名 查看jmeter进程 tasklist /V |findstr /i jmeter2、终止进程…

分享全球顶尖的AIGC文生图资源

1 引言 人工智能正在改变许多行业的格局&#xff0c;而其中改变最直观和影响最大的就是AIGC领域的图像创作。文生图技术作为AIGC的一个重要分支&#xff0c;展现了人工智能在视觉创作领域的巨大潜力。发展至今已经有很多AI文生图平台&#xff0c;这是一次革命性的突破&#xf…

C++实现顺序栈的基本操作(扩展)

#include <stdio.h> typedef char ElemType; #define StackSize 100 /*顺序栈的初始分配空间*/ typedef struct { ElemType data[StackSize]; /*保存栈中元素*/int top; /*栈顶指针*/ } SqStack; void InitStack(SqStack &st) {st.top-1; } …

语音识别从入门到精通——1-基本原理解释

文章目录 语音识别算法1. 语音识别简介1.1 **语音识别**1.1.1 自动语音识别1.1.2 应用 1.2 语音识别流程1.2.1 预处理1.2.2 语音检测和断句1.2.3 音频场景分析1.2.4 识别引擎(**语音识别的模型**)1. 传统语音识别模型2. 端到端的语音识别模型基于Transformer的ASR模型基于CNN的…

Java代码生成统计图

引入依赖 <!-- https://mvnrepository.com/artifact/org.knowm.xchart/xchart --> <dependency><groupId>org.knowm.xchart</groupId><artifactId>xchart</artifactId><version>3.8.6</version> </dependency>如果在Li…