永远不要眼高手低,Vue完整实现一套简单的增删改查CURD操作

本文主要是介绍永远不要眼高手低,Vue完整实现一套简单的增删改查CURD操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1: 永远不要眼高手低,看起来很简单,但是你从来没有去动手试一下,就不知道其中真正需要注意的许多细节,

2:完整code如下:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><script src="../node_modules/vue/dist/vue.js"></script></head><body><div id="app"><div><p><label for="inputid"><input type="text"   v-model="inputid" v-bind:disabled="disableflag!=0"></label></p><p><label for="inputname"><input type="text"   v-model="inputname"></label></p><p><button v-on:click="submitbtn">操作按钮</button></p></div><table border="1"><thead><tr><th>编号</th><th>姓名</th><th>时间</th><th>操作</th></tr></thead><tbody><tr v-for="(item,index) in historys" :key="item.id"><td>{{item.id}}</td><td>{{item.name}}</td><td>{{item.cdate}}</td><td><a href="javascript:;" v-on:click.prevent="edit(item.id)">编辑{{item.id}}</a> | <a href="javascript:;" v-on:click.prevent="deleteSoft(item.id,index)">删除</a></td></tr></tbody></table></div><script>var app = new Vue({el: "#app",data: {inputid: "",inputname: "",disableflag: 0,addorEdit: false,historys: [{id: 1,name: "三国演义",cdate: "1881-01-10"}, {id: 2,name: "水浒传",cdate: "1891-11-21"}, {id: 3,name: "聊斋异志",cdate: "1895-2-13"}, {id: 4,name: "大宋提刑官",cdate: "1899-01-18"}]},methods: {edit: function(id) { //点击编辑获取该行的数据var getone = this.historys.filter(function(item) {return item.id == id;})[0];console.log(getone.id + ",name=" + getone.name);this.inputid = getone.id;this.inputname = getone.name;this.disableflag = 1;this.addorEdit = true;},deleteSoft: (id, index) => { //splice删除操作console.log(this); //windows对象console.log("index=" + index);var getone = this.app.historys.filter(function(item) {return item.id == id;});var getfindIndex = this.app.historys.findIndex(function(item) { //也可以这样来找到索引return item.id == id;});console.log("getfindIndex=" + getfindIndex); //console.log(getone[0].id + ",name=" + getone[0].name);this.app.historys.splice(index, 1); //在数据中的第几个索引开始删除几个console.log("删除成功");},submitbtn: function() {console.log(this);var getinputid = this.inputid;var getinputname = this.inputname;console.log(getinputid + "," + getinputname);this.disableflag = 0;if (this.addorEdit) { //编辑if (this.isEmptyorNull(getinputid) || this.isEmptyorNull(getinputname)) {alert("id和名称不可以为空");return;}var geteditobj = this.historys.filter(function(item) {return item.id == getinputid;});geteditobj[0].name = getinputname; //这里需要加上下标console.log("编辑成功");this.inputid = "";this.inputname = "";} else {if (this.isEmptyorNull(getinputname)) {alert("名称不可以为空");return;}var listid = [];this.historys.forEach(function(item) {listid.push(item.id);})var getMaxid = Math.max(...listid) + 1; //查找出最大的idconsole.log("getMaxid:" + getMaxid);this.historys.push({id: getMaxid,name: getinputname,cdate: "1998-10-12"});console.log("新增成功");}this.addorEdit = false;},isEmptyorNull: function(str) {if (str == "" || str == "undefined" || str == null) {return true;}return false;}}})</script>
</body></html>

复制代码

 3:测试效果如下

4:总结:  需要动手实操 

这篇关于永远不要眼高手低,Vue完整实现一套简单的增删改查CURD操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/301193

相关文章

基于Redisson实现分布式系统下的接口限流

《基于Redisson实现分布式系统下的接口限流》在高并发场景下,接口限流是保障系统稳定性的重要手段,本文将介绍利用Redisson结合Redis实现分布式环境下的接口限流,具有一定的参考价值,感兴趣... 目录分布式限流的核心挑战基于 Redisson 的分布式限流设计思路实现步骤引入依赖定义限流注解实现

SpringBoot实现虚拟线程的方案

《SpringBoot实现虚拟线程的方案》Java19引入虚拟线程,本文就来介绍一下SpringBoot实现虚拟线程的方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录什么是虚拟线程虚拟线程和普通线程的区别SpringBoot使用虚拟线程配置@Async性能对比H

基于Python实现进阶版PDF合并/拆分工具

《基于Python实现进阶版PDF合并/拆分工具》在数字化时代,PDF文件已成为日常工作和学习中不可或缺的一部分,本文将详细介绍一款简单易用的PDF工具,帮助用户轻松完成PDF文件的合并与拆分操作... 目录工具概述环境准备界面说明合并PDF文件拆分PDF文件高级技巧常见问题完整源代码总结在数字化时代,PD

Python实现Word转PDF全攻略(从入门到实战)

《Python实现Word转PDF全攻略(从入门到实战)》在数字化办公场景中,Word文档的跨平台兼容性始终是个难题,而PDF格式凭借所见即所得的特性,已成为文档分发和归档的标准格式,下面小编就来和大... 目录一、为什么需要python处理Word转PDF?二、主流转换方案对比三、五套实战方案详解方案1:

SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南

《SpringBoot集成EasyExcel实现百万级别的数据导入导出实践指南》本文将基于开源项目springboot-easyexcel-batch进行解析与扩展,手把手教大家如何在SpringBo... 目录项目结构概览核心依赖百万级导出实战场景核心代码效果百万级导入实战场景监听器和Service(核心

C# async await 异步编程实现机制详解

《C#asyncawait异步编程实现机制详解》async/await是C#5.0引入的语法糖,它基于**状态机(StateMachine)**模式实现,将异步方法转换为编译器生成的状态机类,本... 目录一、async/await 异步编程实现机制1.1 核心概念1.2 编译器转换过程1.3 关键组件解析

基于Python Playwright进行前端性能测试的脚本实现

《基于PythonPlaywright进行前端性能测试的脚本实现》在当今Web应用开发中,性能优化是提升用户体验的关键因素之一,本文将介绍如何使用Playwright构建一个自动化性能测试工具,希望... 目录引言工具概述整体架构核心实现解析1. 浏览器初始化2. 性能数据收集3. 资源分析4. 关键性能指

使用Redis快速实现共享Session登录的详细步骤

《使用Redis快速实现共享Session登录的详细步骤》在Web开发中,Session通常用于存储用户的会话信息,允许用户在多个页面之间保持登录状态,Redis是一个开源的高性能键值数据库,广泛用于... 目录前言实现原理:步骤:使用Redis实现共享Session登录1. 引入Redis依赖2. 配置R

SpringBoot实现RSA+AES自动接口解密的实战指南

《SpringBoot实现RSA+AES自动接口解密的实战指南》在当今数据泄露频发的网络环境中,接口安全已成为开发者不可忽视的核心议题,RSA+AES混合加密方案因其安全性高、性能优越而被广泛采用,本... 目录一、项目依赖与环境准备1.1 Maven依赖配置1.2 密钥生成与配置二、加密工具类实现2.1

在Java中实现线程之间的数据共享的几种方式总结

《在Java中实现线程之间的数据共享的几种方式总结》在Java中实现线程间数据共享是并发编程的核心需求,但需要谨慎处理同步问题以避免竞态条件,本文通过代码示例给大家介绍了几种主要实现方式及其最佳实践,... 目录1. 共享变量与同步机制2. 轻量级通信机制3. 线程安全容器4. 线程局部变量(ThreadL