Vue框架实现对前端数据表的增删改查(第六课)

简介: Vue框架实现对前端数据表的增删改查(第六课)

第一部分功能演示

先看下页面效果

 

增加一条数据


删除一条数据


修改一条数据

查询指定的一条记录


第二部分 上面的功能该如何实现的呢!首先又是页面改如何展示出来。

第一步 提前写好CSS样式

  <style>
        * {
            font-weight: 500;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        }
        table {
            border-collapse: collapse;
            margin: 0%;
        }
        th,
        td {
            border: 1px solid rgb(255, 0, 0);
            width: 100px;
            height: 40px;
            text-align: center;
        }
        fieldset {
            border-radius: 12px;
            background-color: rgb(188, 225, 240);
            color: black;
            box-shadow: 1px solid black;
        }
        th {
            background-color: rgb(255, 255, 255);
            color: rgb(255, 0, 0);
            font-weight: 900;
            text-align: center;
        }
    </style>

第二步 实现表格中V-for表头的信息打印

用户给出这个数据你能想到什么  数组

 

 

如果是数组我会这样去遍历

 

用户给出这个数据你能想到什么  对象

 

如果是对象我会这样去遍历

 

用户给出这个数据你能想到什么 数组 对象

第三步分析表格结构写出对应的模拟数据

                       Book: [
                        {
                            id: 1,
                            name: "《JavaScript从初级到中级在到高级》",
                            date: "2022年9月",
                            price: 34,
                            autor: "张三",
                            count: 1
                        },
                        {
                            id: 2,
                            name: "《java从入门到放弃》",
                            date: "2022年10月",
                            price: 79,
                            autor: "李四",
                            count: 1
                        },
                        {
                            id: 3,
                            name: "《Mysql数据库》",
                            date: "20021年3月",
                            price: 57,
                            autor: "赵武",
                            count: 1
                        },
                        {
                            id: 4,
                            name: "《我的世界》",
                            date: "20022年4月",
                            price: 17,
                            autor: "六二",
                            count: 1
                        },
                    ],

思考一下 我为什么能展示出来这些信息

第四步 将所有的模拟数据展示在控制台

为什么这样遍历可以出数据呢

  <tr v-for="(Book,index) in Book " :key="index.index+''">
                <td>{{index+1}}</td>
                <td>{{Book.name}}</td>
                <td>{{Book.date}}</td>
                <td>{{Book.price}}</td>
                <td>{{Book.autor}}</td>
                <td>
                    <button @click="reduce(Book.id)">-</button>
                    {{Book.count}}
                    <button @click="increase(Book.id)">+</button>
                </td>
                <td>
                    <button @click="remove(Book.id)">移除</button>
                </td>
                <td><input type="button" value="修改" v-on:click="shoeGoods(index)" /></td>
                <td> <button @click="addArray()">增加数据</button></td>
            </tr>

第五步 实现对表格中数据的删除一条记录功能

                     remove(id) {
                    this.Book.forEach(element => {
                        if (element.id == id) this.Book.splice(this.Book.indexOf(element), 1)
                    })
                },

第六步 实现对表格中数据增加一条记录的功能

                    addArray() {
                    alert("增加数据")
                    var bookones = { id: this.BookId, name: this.BookName, date: this.BookDate, price: this.BookPrice, autor: this.AuthorName }
                    this.Book.push(bookones)
                    this.BookId = this.BookName = this.BookDate = this.BookPrice = this.AuthorName = this.BookNum = ""
                    // console.log(this.$opion.data())
                    this.popShow = false; //窗口的显示
                },

第七步 实现对表格的数据中一条记录并且对数据进行修改

 <!-- 修改功能 -->
        <fieldset>
            <legend>修改用户的数据信息</legend>
            <div id="pop" v-show="popShow">
                修改的数据名称: <input type="text" v-model="names" />
                修改的数据日期:<input type="date" v-model="rundates" />
                修改的数据价格 <input type="text" v-model="prices" />
                修改的数据作者 <input type="text" v-model="author" />
                修改的数据数量 <input type="number" v-model="nums" />
                <button type="button" @click="getModify(index)">修改</button>
                <button type="button" @click="closeWindow">取消</button>
            </div>
        </fieldset>

第八步 实现对表格的数据的价格求出总和

第九步 实现对表格的数据的关键记录的查询

                // 查询功能
                search(that) {
                    console.log(that);
                    return this.Book.filter(Book => {
                        if (Book.name.includes(that)) {
                            // 打印查询内容的信息
                            console.log(Book.id + "______" + Book.name + "______" + Book.date + "______" + Book.price + "______" + Book.autor + "______" + Book.count)
                            var a = Book.id;
                            var b = Book.name;
                            var c = Book.date;
                            var d = Book.price;
                            var e = Book.autor;
                            var f = Book.count;
                            var err = [a, b, c, d, e, f]
                            document.write("<h1>" + err + "</h1>")
                            return Book;
                        }
                        console.log(that)
                    })
                },

第三部分 部分代码块

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script src="./js/vue.js"></script>
    <script>
        const app = Vue.createApp({
            data() {
                return {
                    searchStr: null,
                    popShow: false,
                    popShows: false,
                    names: null,
                    prices: null,
                    autols: null,
                    keys: "",
                    datas: null,
                    // 增加的数据
                    BookId: "",
                    BookName: "",
                    BookDate: "",
                    BookPrice: "",
                    BookNum: "",
                    AuthorName: "",
                    that: "",
                    // 创建表格的数组
                    ThBookNameArray: ["书籍编号", "书籍名称", "出版日期", "价格", "作者", "购买的数量", "移除数据", "修改数据", "增加数据"],
                    keywyrds: "",
                    sortype: "",
            },
        app.mount(".app")
    </script>
</body>
</html>

本案例采用的知识点有  V-for  V-on   v-model 和对函数的综合使用 算是一个经典的案例吧!

相关文章
|
8月前
|
JavaScript 前端开发 Java
制造业ERP源码,工厂ERP管理系统,前端框架:Vue,后端框架:SpringBoot
这是一套基于SpringBoot+Vue技术栈开发的ERP企业管理系统,采用Java语言与vscode工具。系统涵盖采购/销售、出入库、生产、品质管理等功能,整合客户与供应商数据,支持在线协同和业务全流程管控。同时提供主数据管理、权限控制、工作流审批、报表自定义及打印、在线报表开发和自定义表单功能,助力企业实现高效自动化管理,并通过UniAPP实现移动端支持,满足多场景应用需求。
768 1
|
9月前
|
移动开发 前端开发 JavaScript
Vue与React两大前端框架的主要差异点
以上就是Vue和React的主要差异点,希望对你有所帮助。在选择使用哪一个框架时,需要根据项目的具体需求和团队的技术栈来决定。
515 83
|
9月前
|
前端开发 Java 物联网
智慧班牌源码,采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署
智慧班牌系统是一款基于信息化与物联网技术的校园管理工具,集成电子屏显示、人脸识别及数据交互功能,实现班级信息展示、智能考勤与家校互通。系统采用Java + Spring Boot后端框架,搭配Vue2前端技术,支持SaaS云部署与私有化定制。核心功能涵盖信息发布、考勤管理、教务处理及数据分析,助力校园文化建设与教学优化。其综合性和可扩展性有效打破数据孤岛,提升交互体验并降低管理成本,适用于日常教学、考试管理和应急场景,为智慧校园建设提供全面解决方案。
558 70
|
9月前
|
JavaScript 前端开发 API
|
8月前
|
JavaScript 前端开发 编译器
Vue与TypeScript:如何实现更强大的前端开发
Vue.js 以其简洁的语法和灵活的架构在前端开发中广受欢迎,而 TypeScript 作为一种静态类型语言,为 JavaScript 提供了强大的类型系统和编译时检查。将 Vue.js 与 TypeScript 结合使用,不仅可以提升代码的可维护性和可扩展性,还能减少运行时错误,提高开发效率。本文将介绍如何在 Vue.js 项目中使用 TypeScript,并通过一些代码示例展示其强大功能。
352 22
|
7月前
|
JavaScript API 开发者
Vue框架中常见指令的应用概述。
通过以上的详细解析,你应该已经初窥Vue.js的指令的威力了。它们是Vue声明式编程模型的核心之一,无论是构建简单的静态网站还是复杂的单页面应用,你都会经常用到。记住,尽管Vue提供了大量预定义的指令,你还可以创建自定义指令以满足特定的需求。为你的Vue应用程序加上这些功能增强器,让编码变得更轻松、更愉快吧!
145 1
|
8月前
|
人工智能 自然语言处理 JavaScript
用 CodeBuddy 搭建Vue框架 像呼吸一样简单
本文介绍如何借助 CodeBuddy 快速创建 Vue 项目。CodeBuddy 是一款支持自然语言编程的工具,能根据用户需求自动生成代码,降低开发门槛。文章详细说明了通过 CodeBuddy 创建 Vue 项目的步骤,包括解决项目创建失败的问题、自动补全代码功能以及启动开发服务器的方法。无论开发者经验如何,CodeBuddy 都能显著提升效率,让开发更专注创意实现。
|
10月前
|
人工智能 JavaScript 前端开发
Vue 性能革命:揭秘前端优化的终极技巧;Vue优化技巧,解决Vue项目卡顿问题
Vue在处理少量数据和有限dom的情况下技术已经非常成熟了,但现在随着AI时代的到来,海量数据场景会越来越多,Vue优化技巧也是必备技能。 博客不应该只有代码和解决方案,重点应该在于给出解决方案的同时分享思维模式,只有思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
|
存储 人工智能 前端开发
前端大模型应用笔记(三):Vue3+Antdv+transformers+本地模型实现浏览器端侧增强搜索
本文介绍了一个纯前端实现的增强列表搜索应用,通过使用Transformer模型,实现了更智能的搜索功能,如使用“番茄”可以搜索到“西红柿”。项目基于Vue3和Ant Design Vue,使用了Xenova的bge-base-zh-v1.5模型。文章详细介绍了从环境搭建、数据准备到具体实现的全过程,并展示了实际效果和待改进点。
1150 14
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
396 0

热门文章

最新文章

  • 1
    前端如何存储数据:Cookie、LocalStorage 与 SessionStorage 全面解析
    656
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    277
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    247
  • 4
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    194
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    301
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    436
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    193
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    135
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    202
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    279