vue.js带复选框表单的增删改差

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

页面模型代码设计如下

<template>
    <div id="navi_108_page">
      <i-button type="info" @click="adds">添加类型</i-button>
      <i-button type="warning" @click="modify">修改类型</i-button>
      <i-button type="error" @click="remv">删除类型</i-button>
      <Table :columns="columns1"  :data="msg" @on-select="tableSelect" @on-selection-change="onchange">
        <Button @click="handleSelectAll(true)">Set all selected</Button>
        <Button @click="handleSelectAll(false)">Cancel all selected</Button>
      </Table>
      <Modal
        v-model="modal1"
        title="添加类型"
        @on-ok="ok1"
        @on-cancel="cancel1">
        <Input v-model="value1" placeholder="请输入保密责任类型" style="width: 300px" />
      </Modal>
      <Modal
        v-model="modal2"
        title="修改类型"
        @on-ok="ok2"
        @on-cancel="cancel2">
        <Input v-model="value2"  style="width: 300px" />
      </Modal>
    </div>
</template>

事件方法如下:

<script>
    import axios from ‘axios‘
    export default {
      components: {},
      data() {
          return {
            modal1: false,
            modal2: false,
            value1:"",
            value2:"",
            columns1: [
              {
                type: ‘selection‘,
                width: 60,
                align: ‘center‘
              },
              {
                title: ‘编号‘,
                width:100,
                key: ‘id‘
              },
              {
                title: ‘名称‘,
                key: ‘name‘
              }
            ],
            //声明一个data,用来存储服务返回的数据值
            msg: [],
            se:[],
            se2:[]

          }
      },
      methods: {
        onchange(selection){
          this.se=selection;
        },
        tableSelect(selection,row){
          console.log(selection);
          console.log(row);
          this.se=selection;
          this.se2=row;
          console.log("~~~~~~~~~~~~~~~~~~~~~~~~~~~~`");
        },
        querytable(){
          let _this = this;
          axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/list2")//post也可以改成get,但需要对应服务端的请求方法
            .then(function (response) {
              //将返回的数据存入页面中声明的data中
              console.log("获取数据成功");
              console.log(response.data.data);
              _this.msg = response.data.data;
            })
            .catch(function (error) {
              alert(error);
            });
        },
        handleSelectAll (status) {
          this.$refs.selection.selectAll(status);
        },
        adds(){
        this.modal1=true;
        },
        modify(){
          if(this.se.length==1){
            this.modal2=true;
            console.log(this.se[0].name);
            this.value2=this.se[0].name;
          }else{
            this.$Message.info("请选择一条唯一数据!")
          }
        },
        remv(){
          console.log("------------------------");
          let _this = this;
          console.log(this.se);
          console.log(this.se2);
          let ids=[];
          for(let a of this.se){
            ids.push(a.id);
          }
          axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/Delete",{id:ids})//post也可以改成get,但需要对应服务端的请求方法
            .then(function (response) {
              //将返回的数据存入页面中声明的data中
              console.log("获取数据成功");
              _this.querytable();
            })
            .catch(function (error) {
              alert(error);
            });
        },
        ok1 () {
          let a=this.value1;
          let _this = this;
          axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/AddType",{name:a})//post也可以改成get,但需要对应服务端的请求方法
            .then(function (response) {
              //将返回的数据存入页面中声明的data中
                console.log("添加成功");
              _this.querytable();
            })
            .catch(function (error) {
              alert(error);
            });
        },

        cancel1 () {
          this.$Message.info(‘Clicked cancel‘);
        },
        ok2 () {
          let _this = this;
          axios.post(this.$store.state.globalUrl.server+"/BmProject/bmzrt/Update",{id:this.se[0].id,name:this.value2})//post也可以改成get,但需要对应服务端的请求方法
            .then(function (response) {
              //将返回的数据存入页面中声明的data中
              console.log("修改成功");
              _this.querytable();
            })
            .catch(function (error) {
              alert(error);
            });
        },
        cancel2 () {
          this.$Message.info(‘Clicked cancel‘);
        }

      },

      mounted() {
        //当页面加载的时候执行
        this.querytable();
      }
    }
</script>

实现效果:

修改:

可以实现批量删除。

原文地址:https://www.cnblogs.com/noahpk/p/9570547.html

时间: 2024-10-09 14:47:03

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

PHP处理Checkbox复选框表单提交

PHP表单提交页面复选框的名称后要加[],这样在接收页面才能得到正确的结果.表单提交后得到的是一个数组,然后通过访问数组元素得到表单的具体vaule值.得到的checkbox1的值,默认有</br>换行. 表单代码: <form action="" method="post" name="asp"> 复选框1:<input type="checkbox" name="checkbox1[

带复选框的下拉框

效果图: . css: <style type="text/css"> /* 带复选框的下拉框 */ ul li{ list-style: none; padding:0px; margin: 0px; } .select_checkBox{ border:0px solid red; position: relative; display:inline-block; } .chartQuota{ height:23px; float:left; display:inlin

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

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2 <html> 3 <head> 4 <title>html+css+js实现复选框全选与反选</title> 5 <meta http-equiv="content-type&qu

JS 设置复选框的选中与取消选中

// 设置选中 function setCheckboxClick(obj) { if(obj == null) { $.messager.alert('警告', "请选择要设置选中的项!",'warning'); } // alert(obj.value); var authorityId = obj.value; $.ajax({ type: 'post', url: 'getAuthorityByAuthorityId.action', data: {"authorit

js获取复选框值

//js获取复选框值 var obj = document.getElementsByName("interest");//选择所有name="interest"的对象,返回数组 var s='';//如果这样定义var s;变量s中会默认被赋个null值 for(var i=0;i<obj.length;i++){ if(obj[i].checked) //取到对象数组后,我们来循环检测它是不是被选中 s+=obj[i].value+','; //如果选中,

Java中带复选框的微信牛牛房卡开发的实现和应用

在使用Java Swing开发微信牛牛房卡开发(h5.fanshubbs.com)程序时,很有可能会遇到使用带复选框的微信牛牛房卡开发的需求,但是Java Swing并没有提供这个组件,因此如果你有这个需求,你就得自己动身实现带复选框的树.CheckBoxTree与JTree在两个层面上存在差异:[li]在模型层上,CheckBoxTree的每个结点需要一个成员来保存其是否被选中,但是JTree的结点则不需要.[/li][li]在视图层上,CheckBoxTree的每个结点比JTree的结点多显

js操作复选框 复选框

//复选框点击事件 function checkAll(){ let tp=$("#tp").val(); let all=$("input[name='id']"); if(tp==1){for(let i=0;i<all.length;i++){ all[i].checked=true; } }else{for(let i=0;i<all.length;i++){ all[i].checked=false; } } } js操作复选框.改变选中效果

js 判断 复选框全选、全不选、反选、必选一个

一个挺 使用的 js 代码片段,  判断  复选框全选.全不选.反选.必选一个 记录下, 搬来的 思路: 修改数据的 选中与否状态, 拿到所有的输入框,看是否有选中的状态 <html> <head> <title> 复选框全选.全不选.反选.必选一个 </title> <meta http-equiv="content-type" content="text/html;charset=GBK"/> <

js实现复选框的全选、全不选、反选

js中实现复选框的全选,全不选以及反选,分为两种情况: (1)选中“请选择”前面的复选框实现全选,不选中“请选择”前面的复选框实现全不选 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org