近段时间由于公司项目要求,前端开始使用VUE框架进行开发,最近刚开始学习,做了一个表单的增删改查,和大家分享一下。

页面模型代码设计如下

  1. <template>
  2. <div id="navi_108_page">
  3. <i-button type="info" @click="adds">添加类型</i-button>
  4. <i-button type="warning" @click="modify">修改类型</i-button>
  5. <i-button type="error" @click="remv">删除类型</i-button>
  6. <Table :columns="columns1" :data="msg" @on-select="tableSelect" @on-selection-change="onchange">
  7. <Button @click="handleSelectAll(true)">Set all selected</Button>
  8. <Button @click="handleSelectAll(false)">Cancel all selected</Button>
  9. </Table>
  10. <Modal
  11. v-model="modal1"
  12. title="添加类型"
  13. @on-ok="ok1"
  14. @on-cancel="cancel1">
  15. <Input v-model="value1" placeholder="请输入保密责任类型" style="width: 300px" />
  16. </Modal>
  17. <Modal
  18. v-model="modal2"
  19. title="修改类型"
  20. @on-ok="ok2"
  21. @on-cancel="cancel2">
  22. <Input v-model="value2" style="width: 300px" />
  23. </Modal>
  24. </div>
  25. </template>

事件方法如下:

  1. <script>
  2. import axios from 'axios'
  3. export default {
  4. components: {},
  5. data() {
  6. return {
  7. modal1: false,
  8. modal2: false,
  9. value1:"",
  10. value2:"",
  11. columns1: [
  12. {
  13. type: 'selection',
  14. width: 60,
  15. align: 'center'
  16. },
  17. {
  18. title: '编号',
  19. width:100,
  20. key: 'id'
  21. },
  22. {
  23. title: '名称',
  24. key: 'name'
  25. }
  26. ],
  27. //声明一个data,用来存储服务返回的数据值
  28. msg: [],
  29. se:[],
  30. se2:[]
  31.  
  32. }
  33. },
  34. methods: {
  35. onchange(selection){
  36. this.se=selection;
  37. },
  38. tableSelect(selection,row){
  39. console.log(selection);
  40. console.log(row);
  41. this.se=selection;
  42. this.se2=row;
  43. console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~`");
  44. },
  45. querytable(){
  46. let _this = this;
  47. axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/list2")//post也可以改成get,但需要对应服务端的请求方法
  48. .then(function (response) {
  49. //将返回的数据存入页面中声明的data中
  50. console.log("获取数据成功");
  51. console.log(response.data.data);
  52. _this.msg = response.data.data;
  53. })
  54. .catch(function (error) {
  55. alert(error);
  56. });
  57. },
  58. handleSelectAll (status) {
  59. this.$refs.selection.selectAll(status);
  60. },
  61. adds(){
  62. this.modal1=true;
  63. },
  64. modify(){
  65. if(this.se.length==1){
  66. this.modal2=true;
  67. console.log(this.se[0].name);
  68. this.value2=this.se[0].name;
  69. }else{
  70. this.$Message.info("请选择一条唯一数据!")
  71. }
  72. },
  73. remv(){
  74. console.log("------------------------");
  75. let _this = this;
  76. console.log(this.se);
  77. console.log(this.se2);
  78. let ids=[];
  79. for(let a of this.se){
  80. ids.push(a.id);
  81. }
  82. axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/Delete",{id:ids})//post也可以改成get,但需要对应服务端的请求方法
  83. .then(function (response) {
  84. //将返回的数据存入页面中声明的data中
  85. console.log("获取数据成功");
  86. _this.querytable();
  87. })
  88. .catch(function (error) {
  89. alert(error);
  90. });
  91. },
  92. ok1 () {
  93. let a=this.value1;
  94. let _this = this;
  95. axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/AddType",{name:a})//post也可以改成get,但需要对应服务端的请求方法
  96. .then(function (response) {
  97. //将返回的数据存入页面中声明的data中
  98. console.log("添加成功");
  99. _this.querytable();
  100. })
  101. .catch(function (error) {
  102. alert(error);
  103. });
  104. },
  105.  
  106. cancel1 () {
  107. this.$Message.info('Clicked cancel');
  108. },
  109. ok2 () {
  110. let _this = this;
  111. axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/Update",{id:this.se[0].id,name:this.value2})//post也可以改成get,但需要对应服务端的请求方法
  112. .then(function (response) {
  113. //将返回的数据存入页面中声明的data中
  114. console.log("修改成功");
  115. _this.querytable();
  116. })
  117. .catch(function (error) {
  118. alert(error);
  119. });
  120. },
  121. cancel2 () {
  122. this.$Message.info('Clicked cancel');
  123. }
  124.  
  125. },
  126.  
  127. mounted() {
  128. //当页面加载的时候执行
  129. this.querytable();
  130. }
  131. }
  132. </script>

实现效果:

修改:

可以实现批量删除。

vue.js带复选框表单的增删改查的更多相关文章

  1. django-orm框架表单的增删改查

    08.14自我总结 django-orm框架 一.orm基本配置 1.创建django项目 命令行:cmd先去到django创建目录,然后输入django-admin startproject dja ...

  2. AppBox实战: 如何实现一对多表单的增删改查

      本篇通过完整示例介绍如何实现一对多关系表单的相应服务及视图. 一.准备数据结构   示例所采用的数据结构为"物资需求"一对多"物资清单",通过IDE的实体设 ...

  3. jquery完成带复选框的表格行高亮显示

    jquery完成带复选框的表格行高亮显示 通过jquery技术来操作表格是件简单的事,通过jquery的语法,可以很轻松的完成表格的隔行换色,悬浮高亮,在实际的应用中可能会出现表格中带复选框的,删除时 ...

  4. html+css+js实现复选框全选与反选

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  5. js实现复选框的全选、全不选和反选

    js实现复选框的全选.全不选和反选 主要是用遍历的方法查找元素,然后通过改变checked的属性来选择,为true则是选中状态,为false则是未选状态 实现代码 <!DOCTYPE html& ...

  6. 雷林鹏分享:jQuery EasyUI 树形菜单 - 创建带复选框的树形菜单

    jQuery EasyUI 树形菜单 - 创建带复选框的树形菜单 easyui 的树(Tree)插件允许您创建一个复选框树.如果您点击一个节点的复选框,这个点击的节点信息将向上和向下继承.例如:点击 ...

  7. js input复选框选中父级同时子级也选中

    js实现复选框选中父级元素子级元素也选中,没有子级元素选中父级也不选中的效果 HTML <tr> <td> <label> <input name=" ...

  8. js操作复选框 复选框

    //复选框点击事件 function checkAll(){ let tp=$("#tp").val(); let all=$("input[name='id']&quo ...

  9. js实现复选框全选/全不选/反选

    js实现复选框全选/全不选/反选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ...

随机推荐

  1. SYN2306C型 GPS北斗授时导航接收机

    SYN2306C型 GPS北斗授时导航接收机 北斗对时系统北斗标准同步时钟北斗卫星校时器使用说明视频链接: http://www.syn029.com/h-pd-222-0_310_36_-1.htm ...

  2. HTML连载9-video标签的第二种格式&audio标签

    一.video第二种格式 1.背景:由于视频数据非常重要,所以五大浏览器厂商都不愿意支持别人的视频格式,所以导致了没有一种视频格式是所有浏览器都支持的.这个时候W3C为了解决这个问题,所以推出了第二种 ...

  3. Asp.Net Core 项目 EntityFramework Core 根据登录用户名过滤数据

    1.创建ASP.NET Core Web Applicatoin (MVC)项目,并且使用 Individual User Account 2.创建数据筛选接口 Models->IDataFil ...

  4. SpringBoot实现文件上传

    前言参考:快速开发第一个SpringBoot应用 这篇文章会讲解如何使用SpringBoot完成一个文件上传的过程,并且附带一些SpringBoot开发中需要注意的地方 首先我们写一个文件上传的htm ...

  5. jQuery-ajax-.load方法

    使用jQuery封装的ajax是非常好用的,这个里面提供了几个比较好用的方法. load(url[,data, callback])方法: 说明:这个是jQuery中的最底层方法$.ajax()封装的 ...

  6. SSM(四)Mybatis延迟加载

    1.概念 MyBatis中的延迟加载,也称为懒加载,是指在进行关联查询时,按照设置延迟加载规则推迟对关联对象的select查询.延迟加载可以有效的减少数据库压力. 2.关联对象的加载时机 ①.直接加载 ...

  7. Mac上使用brew update会卡住的问题

    Mac上使用brew update会卡住的问题 brew默认的源是Github,会非常慢,建议换为国内的源.推荐中科大的镜像源,比较全面. 解决方案 Homebrew Homebrew源代码仓库 替换 ...

  8. Xmanager 5远程连接CentOS7图形化界面

    1.安装Xmanager 5下载链接:https://pan.baidu.com/s/1JwBk3UB4ErIDheivKv4-NA提取码:cw04 双击xmgr5_wm.exe进行安装 点击‘下一步 ...

  9. Docker入门简介(一)

    Docker 介绍 Docker是Docker.lnc公司开源的一个基于LXC技术智商构建的Container容器引擎,源代码托管在GitHub上,基于Go语言并遵从Apache2.0协议开源. Do ...

  10. php使用webservice调用C#服务端/调用PHP服务端

    由于公司业务需要,用自产平台对接某大厂MES系统,大厂提出使用webservice来互通,一脸懵逼啊,一直没有使用过php的webservice的我,瞬间打开手册开始阅读,最终爬过无数坑之后,总结出如 ...