全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

vue增删改查的简单操作

本文为大家分享了vue增删改查的简单操作,供大家参考,具体内容如下

我们把这些用户信息保存到list的数组中,然后增删改查就在这个数组上进行:

list: [
  {
    username: 'aaaaa',
    email: '123@qq.com',
    sex: '男',
    province: '北京市',
    hobby: ['篮球', '读书', '编程']
  },
  {
    username: 'bbbbb',
    email: 'bbbbbbb@163.com',
    sex: '女',
    province: '河北省',
    hobby: ['弹琴', '读书', '插画']
  }
  // ...
]

这里面的表单有:文本输入框,单选按钮,select选择框,复选框等。

1. 展示数据

我们的数据都放在数组list中,但是这里并不直接对list对循环输出,而是先把list中的数据给一个数组slist,对slist进行循环输出。因为我们在后面的查询功能中需要对数据进行过滤,数组list一直保存着原始数据(包括新增、修改后或已删除后),而数组slist只负责展示。

在vue中提供一个setSlist方法,将需要展示的数据给了数组slist:

// 获取需要渲染到页面中的数据
setSlist(arr) {
  this.slist = JSON.parse(JSON.stringify(arr));
}

然后在html中使用v-for把slist数组渲染出来:

<tr v-cloak v-for="(item, index) of slist">
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td></td>
  <td><a href="javascript:;" @click="showOverlay(index)">修改</a> | <a href="javascript:;" @click="del(index)">删除</a></td>
</tr>

在操作这一栏中,给修改和删除操作绑定上事件。

2. 增加和删除功能 

把增加功能和删除合并到一起,是这两个功能相对来说都比较简单。

增加用户时使用push方法,把用户的信息添加到list数组的最后:

this.list.push({
  username: 'ffff',
  email: 'fffffff@163.com',
  sex: '女',
  province: '河南省',
  hobby: ['弹琴', '插画']
});

这样就能添加一位ffff的用户了。

删除用户时,通过splice(index, 1),可以删除index位置的数据,页面上的数据自动就会更新。

3. 修改功能

假设我们弹层里的数据是selectedlist,那么每次修改时,把index位置的数据给了selectedlist,然后在弹层中修改selectedlist。我们也能看到修改数据的类型: 文本框(用户名,邮箱),单选按钮(性别),select选择框(所在省份),多选框(爱好),这里我们主要练习的是表单处理(https://cn.vuejs.org/v2/guide/forms.html)。弹层是否显示用变量isActive来控制:

// 修改数据
modifyData(index) {
  this.selected = index; // 修改的位置
  this.selectedlist = this.list[index];
  this.isActive = true;
}

有没有发现一个问题,当修改弹层中的信息时,表格中的数据也同步更新了。可是我们本身是希望当点击保存按钮时,才把弹层中的数据保存到表格里。问题的根源就出在这里:

this.selectedlist = this.list[index];

因为list[index]是个Object类型的数据,若使用=赋值,则赋值操作为浅度拷贝(把数据的地址赋值给对应变量,而没有把具体的数据复制给变量,变量会随数据值的变化而变化),selectedlist与list[index]使用相同的数据地址,互相引起数据值的变化。因此这里我们需要进行深度拷贝:

this.selectedlist = JSON.parse( JSON.stringify(this.list[index]) ); // 先转换为字符串,然后再转换

当用户修改数据后,selectedlist就会发生变化,点击保存按钮时,将数据重新保存到index位置:

/*
 this.list 数据数组
 this.selected 刚才修改的位置
 this.selectedlist 需要保存的数据
*/
Vue.set(this.list, this.selected, this.selectedlist);

4. 查询功能

在第1小节中我们已经说过,在页面表格中展示的是slist中的数据,就是为了方便执行查询操作:

// 获取需要渲染到页面中的数据
setSlist(arr) {
  this.slist = JSON.parse(JSON.stringify(arr));
}

每次根据某些条件将过滤后的数据赋值给slist数组,展示出查询后的数据。这里我们的查询实现了两个小功能:

1、用户在输入某个字符后,自动在输入框下方用列表展示出用户可能要查询的词语(如用户名等)
2、同步更新表格中的数据

这里我们通过用户名和邮箱进行查询,因此在过滤数据时,需要检测用户名和邮箱是否含有查询的单词。我们先给输入框绑定一个input事件,同时用datalist展示用户可能要查询的词语:

<input type="text" placeholder="search" @input="search" list="cars" class="search">
<datalist id="cars">
  <option v-for="item in searchlist" :value="item"></option>
</datalist>

search功能的实现,searchlist为在输入框下方展示的可能要搜索的词语,ss数组则保存过滤后的数据,当循环完毕后,设置调用setSlist方法修改slist数组:

每当用户输入或者删除一个字符时都会调用search方法,执行查询操作,当用点击展示词语列表时,也会调用search方法。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 增删改查  # Vue使用Element实现增删改查+打包的步骤  # VUE+Element实现增删改查的示例源码  # vue实现表格增删改查效果的实例代码  # vue实现表格数据的增删改查  # Vue3实现登录表单验证功能  # vue表单验证自定义验证规则详解  # vue实现表单验证小功能  # vue实现表单验证功能  # Vue数据增删改查与表单验证的实现流程介绍  # 输入框  # 的是  # 就会  # 给了  # 层中  # 表单  # 绑定  # 单选  # 查询功能  # 同步更新  # 这一  # 是个  # 放在  # 就在  # 也会  # 就能  # 河北省  # 河南省  # 也能  # 说过 


相关文章: 如何通过西部数码建站助手快速创建专业网站?  如何在服务器上配置二级域名建站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  用v-html解决Vue.js渲染中html标签不被解析的问题  开封网站制作公司,网络用语开封是什么意思?  道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?  营销式网站制作方案,销售哪个网站招聘效果最好?  制作企业网站建设方案,怎样建设一个公司网站?  Swift中switch语句区间和元组模式匹配  如何选择网络建站服务器?高效建站必看指南  宿州网站制作公司兴策,安徽省低保查询网站?  建站之星导航菜单设置与功能模块配置全攻略  ,想在网上投简历,哪几个网站比较好?  如何通过WDCP绑定主域名及创建子域名站点?  制作门户网站的参考文献在哪,小说网站怎么建立?  如何在万网ECS上快速搭建专属网站?  如何在云主机上快速搭建多站点网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  西安专业网站制作公司有哪些,陕西省建行官方网站?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  建站之星价格显示格式升级,你的预算足够吗?  制作宣传网站的软件,小红书可以宣传网站吗?  专业商城网站制作公司有哪些,pi商城官网是哪个?  宝塔面板创建网站无法访问?如何快速排查修复?  实现虚拟支付需哪些建站技术支撑?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  广平建站公司哪家专业可靠?如何选择?  公司网站设计制作厂家,怎么创建自己的一个网站?  宝塔面板如何快速创建新站点?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  高端企业智能建站程序:SEO优化与响应式模板定制开发  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站制作的步骤包括,正确网址格式怎么写?  html制作网站的步骤有哪些,iapp如何添加网页?  建站之星代理平台如何选择最佳方案?  北京企业网站设计制作公司,北京铁路集团官方网站?  大型企业网站制作流程,做网站需要注册公司吗?  如何在云主机上快速搭建网站?  PHP 500报错的快速解决方法  公众号网站制作网页,微信公众号怎么制作?  建站之星上传入口如何快速找到?  成都网站制作公司哪家好,四川省职工服务网是做什么用?  定制建站如何定义?其核心优势是什么?  网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?  郑州企业网站制作公司,郑州招聘网站有哪些?  c# 在高并发场景下,委托和接口调用的性能对比  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。