第二十天的学习(2024.8.8)Vue拓展

news2024/9/27 17:28:40

昨天的笔记中,我们进行的项目已经可以在网页上显示查询到数据库中的数据,今天的笔记中将会完成在网页上进行增删改查的操作 

1.删除表中数据

现在网页上只能呈现出数据库中的数据,我们首先添加一个删除按钮,使其可以对数据库数据进行删除操作

<template #default="scope">
    <el-button type="danger" @click="del(scope.$index,scope.row)">删除</el-button>
</template>

 将上面代码添加到stafflist.vue文件下的<template>标签下,一个删除按钮就呈现在网页上了。我们在按钮标签上添加@click事件,给事件设置为上del(scope.$index,scope.row)方法。下面我们来写del()方法:del()方法写在stafflist.vue文件的<script>标签中,是js语句

首先在api文件夹下的index.js文件下定义del()方法,这里同时也定义了postJson、putJson方法

 

const del=function(index,row){
      console.log(row);
      ElMessageBox.confirm(
        "确定要删除该行数据吗?",
        "提示框",
        {
          confirmButtonText:"确认",
          cancelButtonText:"取消",
          type:'warning',
        }
      )
      .then(function(){
        //提交数据
        easyapi.del("/api/staff",row.id);
        //刷新表格数据
        tableData.value.splice(index,1);
        //提示删除成功
        ElMessage({
        type: 'success',
        message: '删除成功',
      })
      })
}

在del文件中,会显示

里面的文字分别对应del()方法中的文字,导入对象easyapi调用del方法,执行地址为"/api/staff"的操作,后端中这个地址请求是删除某行数据,刚好可以对应删除操作。然后ElMessage会提醒删除成功。

 2.添加表中数据

和删除操作不同的是,添加数据的按钮不能放在每行数据上,新增按钮应该放在表单头部上,每次点击新增按钮都弹出一个弹出框,我们输入数据后点击弹出框中的确认按钮,数据就存入了数据库中,并且新添加的数据会自动刷新出到网页上来。

1.写postJson方法

注意:postForm和postJson方法略有不同,postJson传入的是对象(postJson也是默认的添加数据方式),最好是使用postJson方式添加数据。在进行后端编码时,无论使用哪种方式接收数据,都要跟前端说明使用的方式(postForm还是postJson)

 这是postJson的方式,传入的参数要加注解@RequestBody

2.添加新增按钮

<el-button type="success" @click="openAddWindow">新增</el-button>

3.编写点击新增后的弹出框

弹出框是由addWindowVisible属性控制,这个属性为true就显示在网页上,为false就不显示,我们需要手动设定属性的布尔值

<!--start新增信息的弹出框-->
<el-dialog v-model="addWindowVisible" title="Shipping address" width="500">
  
  <el-form :model="addObject">
      <el-form-item label="编号" label-width="80">
        <el-input v-model="addObject.code" autocomplete="off" />
      </el-form-item>
      <el-form-item label="姓名" label-width="80">
        <el-input v-model="addObject.name" autocomplete="off" />
      </el-form-item>
      <el-form-item label="薪资" label-width="80">
        <el-input v-model="addObject.salary" autocomplete="off" />
      </el-form-item>
      <el-form-item label="用户名" label-width="80">
        <el-input v-model="addObject.username" autocomplete="off" />
      </el-form-item>
  </el-form>
  <template #footer>
      <div class="dialog-footer">
        <el-button @click="closeAddWindow">
          取消
        </el-button>
        <el-button type="primary" @click="addSave">
          保存
        </el-button>
      </div>
    </template>
</el-dialog>
<!--end 新增信息的弹出框-->

设置可视化窗口的布尔值(默认为false)

    //控制新增信息窗口是否显示
    const addWindowVisible=ref(false);

 

然后事件@click为openAddWindow方法,写方法:

点击事件后会接收一个对象的值,然后将可视化窗口的值设置为true(这样就会弹出窗口)

    const openAddWindow=()=>{
      addObject.value={};
      addWindowVisible.value=true;
    }
    //新增数据绑定对象
    const addObject=ref({});

利用新增的数据绑定对象存要传入的数据

 

上面写的弹出框页面中,保存按钮的事件为addSave,这个事件跳转到: 

    //保存新增数据到 addObject
    const addSave=async function(){
      //发送请求
      let result=await easyapi.postJson("/api/staffjson",addObject.value);
      //表格数据变更
      tableData.value.unshift(result.data);
      //提示
      ElMessage({
        type: 'success',
        message: '保存成功',
      })
      closeAddWindow();
    }
    const openAddWindow=()=>{
      addObject.value={};
      addWindowVisible.value=true;
    }
    const closeAddWindow=()=>{
      addWindowVisible.value=false;
    }

首先发送请求,在后端执行添加数据语句,将存储在addObject对象中的数据添加进数据库,然后将表格数据变更,这个操作是在后端实现的

    @PostMapping("staffjson")
	public CommonResult addStaffJson(@RequestBody Staff staff) {
		System.out.println("@PostMapping-----staff");
		dao.addStaff(staff);
		staff=easyS.getStaffByID(staff.getId());
		return CommonResult.success(staff);
	}

3.更改表中数据

编辑数据是针对某行数据进行更改,只需要将按钮放在每行数据后。先写putJson方法和putFrom方法

 

      <template #default="scope">
        <el-button type="danger" @click="del(scope.$index,scope.row)">删除</el-button>
        <el-button type="warning" @click="edit(scope.$index,scope.row)">编辑</el-button>
      </template>

 我们设计编辑按钮时,使其弹出一个弹出框,在弹出框中进行数据的编辑并保存,是和新增数据相同的思路,在事件@click下,@click="edit(scope.$index,scope.row)",传入两个参数,一个是下标一个是数据。编辑数据的输入框如下:

<!--start 编辑信息的弹出框---->
<el-dialog v-model="editWindowVisible" title="编辑" width="500">
  
  <el-form :model="editObject">
      <el-form-item label="编号" label-width="80">
        <el-input v-model="editObject.code" autocomplete="off" />
      </el-form-item>
      <el-form-item label="姓名" label-width="80">
        <el-input v-model="editObject.name" autocomplete="off" />
      </el-form-item>
      <el-form-item label="薪资" label-width="80">
        <el-input v-model="editObject.salary" autocomplete="off" />
      </el-form-item>
      <el-form-item label="用户名" label-width="80">
        <el-input v-model="editObject.username" autocomplete="off" />
      </el-form-item>
  </el-form>
  <template #footer>
      <div class="dialog-footer">
        <el-button @click="editWindowVisible=false">
          取消
        </el-button>
        <el-button type="primary" @click="editSave">
          保存
        </el-button>
      </div>
    </template>
</el-dialog>
<!--end 编辑信息的弹出框---->

同样用一个editObject常量来存储对象

    //编辑数据绑定对象
    const editObject=ref({});

可视化变量:

    //控制编辑信息窗口是否显示
    const editWindowVisible=ref(false);

输入数据后,点击保存会触发事件@click="editSave"

    //保存编辑数据
    const editSave=async function(){
      //发送请求
      let result=await easyapi.putJson("/api/staffjson",editObject.value);
      //刷新表格
      tableData.value[editIndex]=result.data;
      //提示
      ElMessage({
        type: 'success',
        message: '保存成功',
      })
      editWindowVisible.value=false;
    }

先发送请求,然后刷新表格(同增加数据,原理相同),然后弹出提示-保存成功

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

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

相关文章

线上学习管理系统/在线学习系统/网上学习系统

摘 要 本毕业设计的内容是设计并且实现一个基于SSM框架的线上学习管理系统。它是在Windows下&#xff0c;以MYSQL为数据库开发平台&#xff0c;Tomcat网络信息服务作为应用服务器。线上学习管理系统的功能已基本实现&#xff0c;主要包括学生、教师、课程信息、课程资料、试题…

用Python轻松移除PDF中的注释

PDF文档因其跨平台的兼容性和格式稳定性而备受青睐。然而&#xff0c;随着文档在不同用户间的流转&#xff0c;累积的注释可能会变得杂乱无章&#xff0c;甚至包含敏感或过时的信息&#xff0c;这不仅影响了文档的清晰度和专业性&#xff0c;还可能引发隐私风险。因此&#xff…

本地Linux服务器创建我的世界MC私服并实现与好友异地远程联机游戏

文章目录 前言1. 安装JAVA2. MCSManager安装3.局域网访问MCSM4.创建我的世界服务器5.局域网联机测试6.安装cpolar内网穿透7. 配置公网访问地址8.远程联机测试9. 配置固定远程联机端口地址9.1 保留一个固定tcp地址9.2 配置固定公网TCP地址9.3 使用固定公网地址远程联机 前言 本…

01_Electron 跨平台桌面应用开发介绍

Electron 跨平台桌面应用开发介绍 一、Electron 的介绍二、关于 NW.js 和 Electron 介绍三、搭建 Electron 的环境1、准备工作&#xff1a;2、安装 electron 环境3、查看 electron 的版本&#xff0c;electron -v 一、Electron 的介绍 Electron 是由 Github 开发的一个跨平台的…

四宫格照片拼图怎么制作?5种方法制作很简单

一张创意满满的四宫格照片总能瞬间吸引眼球&#xff0c;无论是社交媒体分享还是日常记录&#xff0c;都能让你的作品脱颖而出。今天&#xff0c;给大家分享五种超实用的四宫格照片拼图制作方法&#xff0c;快来一起看看吧。 方法一&#xff1a;迅捷图片转换器 这不仅是一款强大…

数据结构基础入门

&#x1f600;前言 本篇博文是关于数据结构基础入门&#xff0c;希望你能够喜欢 &#x1f3e0;个人主页&#xff1a;晨犀主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是晨犀&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力&#x1f609…

有没有比较好的PDF编辑软件可以推荐一下?

推荐3款好用的PDF编辑器&#xff0c;简单好用&#xff0c;且基础功能免费&#xff0c;可以满足99%的工作、学习需求。 支持Windows版、Mac版 1、PDF编辑器 点击直达链接>>pdfbianji.55.la 这是一款功能丰富、编辑简单好用的PDF编辑器&#xff0c;目前仅支持Windows系统…

【C++】函数的定义

函数定义的格式 函数类型 函数名( 参数列表 ) { 函数体语句 return表达式 } 下面是一个实例&#xff0c;是用来写一个加法函数的 #include<iostream> using namespace std;//函数的定义 //语法&#xff1a; //返回值类型 函数名 &#xff08;参数列表&#xff09; {…

DIRB:一款强大的Web目录扫描工具使用指南

网安学习交流 DIRB是一款广泛使用的开源Web内容扫描工具&#xff0c;它专注于发现Web服务器上存在的目录和文件。对于安全研究员、渗透测试人员以及Web开发者来说&#xff0c;DIRB是一个不可或缺的工具&#xff0c;它能帮助他们识别潜在的入口点&#xff0c;从而进一步评估目标…

2023华为od机试C卷【符号运算/求分数计算结果】Python实现

思路: 先将中缀表达式改为后缀表达式,这样就不用考率需要使用括号来标识操作符的优先级。后缀表达式的计算按 操作符 从左到右出现的顺序依次执行(不考虑运算符之间的优先级),对于计算机而言是比较简单的结构。 然后实现后缀表达式的计算。需要注意的是:在处理后缀表达式…

谁才是制作中国式报表的最佳工具?赶紧看看这款“功能强大且免费”的报表工具!

确定制作中国式报表最佳工具的前提是&#xff1a;先搞懂到底什么是中国式报表&#xff1f; 一. 什么是中国式报表&#xff1f; 其实行业内一直没有对中国式报表做出明确的定义&#xff0c;但综合来看&#xff0c;典型的中国式报表具有以下四个显著特征&#xff1a; 1.报表格…

GIF压缩怎么压?整理了六个图片压缩方法(附步骤)

GIF压缩方法有哪些&#xff1f;电脑照片怎么压缩到200k&#xff1f; 最近很经常看到类似的问题&#xff0c;本文就分享几个简单的电脑文件压缩方法。对GIF图进行压缩是一个常见的需求&#xff0c;可以帮助减小文件大小&#xff0c;提高加载速度&#xff0c;同时保持图像质量。…

一文读懂 ESLint配置

你好,我是Qiuner. 为帮助别人少走弯路和记录自己编程学习过程而写博客 这是我的 github https://github.com/Qiuner ⭐️ ​ gitee https://gitee.com/Qiuner &#x1f339; 如果本篇文章帮到了你 不妨点个赞吧~ 我会很高兴的 &#x1f604; (^ ~ ^) 想看更多 那就点个关注吧 我…

2.2 QT 环境配置

2.2 QT环境配置 QT是一个1991年由QT Company开发的跨平台C图形用户界面应用程序开发框架。它既可以开发GUI程序&#xff0c;也可以用于开发非GUI程序&#xff0c;比如控制台工具和服务器。Qt是面向对象的框架&#xff0c;使用特殊的代码生成扩展&#xff08;称为元对象编译器&…

目录函数以及链接文件

一、对stat里面的用户名时间做处理的函数 1.1.getpwuid&#xff08;&#xff09; struct passwd *getpwuid(uid_t uid); 功能: 根据用户id到/etc/passwd文件下解析获得 结构体信息 参数: uid:用户id 返回值: 成功返回id对应用户的信息 失败返回NULL 1. 2.getgrgid&#xf…

第1章 第2节 数据的表示(软件评测师)

1.若某计算机采用8位整数补码表示数据&#xff0c;则运算&#xff08;1271&#xff09;将产生溢出 【解析】8位整数补码表示的整数范围&#xff1a;-128~127 2.采用&#xff08;补码&#xff09;表示带符号数据时&#xff0c;算术运算过程中符号位与数值位采用同样的运算规则…

java框架介绍

Java框架是Java开发中不可或缺的一部分&#xff0c;它们为开发者提供了预定义好的软件架构、类和接口&#xff0c;以及编程规范&#xff0c;从而简化了Java应用程序的开发过程。下面我将详细介绍Java框架的几个方面&#xff1a; 一、Java框架的定义 Java框架是一种为了解决特定…

bootstrap之表格

通过添加 .table-striped class&#xff0c;您将在 <tbody> 内的行上看到条纹 通过添加 .table-bordered class&#xff0c;您将看到每个元素周围都有边框&#xff0c;且占整个表格是圆角的 <!DOCTYPE html> <html><head><meta charset"utf…

UBD分层结构的学生信息管理系统(python+pysimplegui+mysql)

目录 作者的吐槽 介绍流程 UBD的结构 UBD的流程图&#xff08;也称不上流程图吧&#xff09; UBD的优缺点 优点 缺点 系统 设计结构 UI UI的一些图片 UI的代码 Business 数据库的连接&#xff08;json&#xff09; Data 总结 作者的吐槽 当知道UBD分层结构之后…

西安产业园排名新趋势,西安国际数字影像产业园以创新驱动发展?

近年来&#xff0c;随着数字经济的快速发展&#xff0c;西安产业园排名也在不断变化。其中&#xff0c;西安国际数字影像产业园凭借其卓越的创新能力和前瞻性的发展战略&#xff0c;迅速崭露头角&#xff0c;成为西安乃至全国数字影像产业的重要推动力量。那么&#xff0c;西安…