首页 > 其他分享 >element Vue-表单删除按钮以及修改按钮的使用(附加dialog对话的使用)

element Vue-表单删除按钮以及修改按钮的使用(附加dialog对话的使用)

时间:2022-11-14 01:55:08浏览次数:42  
标签:Vue console 删除 user dialog 按钮 id row

先上代码:

 

 <el-table-column width="300" label="操作">
        <template slot-scope="scope">
          <el-button
            class="btn"
            size="mini"
            @click="handleEdit(scope.$index, scope.row)"
            >修改</el-button
          >
          <el-button
            class="btn"
            size="mini"
            type="danger"
            @click="handleDelete(scope.$index, scope.row)"
            >删除</el-button
          >
        </template>
      </el-table-column>
    </el-table>

 

先看修改代码如何操作:

 

<el-dialog title="修改用户信息" :visible.sync="dialogFormVisible">
        <el-form :model="form">
          <el-form-item label="姓名" label-width="120px">
            <!-- autocomplete="off" 关闭自动提示 -->
            <el-input v-model="user.name" autocomplete="off"></el-input>
          </el-form-item>
          <el-form-item label="等级" label-width="120px">
            <el-select v-model="user.level" placeholder="请选择等级">
              <el-option label="首席讲师" value="1"></el-option>
              <el-option label="高级讲师" value="2"></el-option>
            </el-select>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button @click="dialogFormVisible = false">取 消</el-button>
          <el-button type="primary" @click="submit()">确 定</el-button>
        </div>
      </el-dialog>


methods: {
    handleEdit(index, row) {
      //index指索引也就是0,1,2,3的计算机顺序,而row是指我们表单的实际编号
      this.dialogFormVisible = true;
//user是data中的数据数组,把row赋值给user 也就是把row赋值给user中的编号
      this.user = row;

      console.log(index, row);
    },
    
    // 提交用户信息 与对话框的确认按钮所绑定,触发确定按钮也就触发了方法;
    submit() {
      console.log(this.user.id, this.user.name, this.user.level);
      axios({
        // 请求方式
        method: "GET",
        // 请求地址
        url: `http://localhost:8087/UpdateContorller`,
        // URL中的查询参数
        //GET需要params参数;
        params: {
//参数与对话框设定的数值绑定
          id: this.user.id,
          name: this.user.name,
          level: this.user.level,
        },
      }).then((result) => {
        console.log(result.data);
        if (result.data != null) {
          this.$message.success("修改成功");
          this.dialogFormVisible = false;
          this.select();
        }
      });
    },

 

再看删除按钮如何操作:

 

  <el-dialog title="修改用户信息" :visible.sync="dialogFormVisible">
        <el-form :model="form">
          <el-form-item label="姓名" label-width="120px">
            <!-- autocomplete="off" 关闭自动提示 -->
            <el-input v-model="user.name" autocomplete="off"></el-input>
          </el-form-item>
          <el-form-item label="等级" label-width="120px">
            <el-select v-model="user.level" placeholder="请选择等级">
              <el-option label="首席讲师" value="1"></el-option>
              <el-option label="高级讲师" value="2"></el-option>
            </el-select>
          </el-form-item>
        </el-form>
        <div slot="footer" class="dialog-footer">
          <el-button @click="dialogFormVisible = false">取 消</el-button>
          <el-button type="primary" @click="submit()">确 定</el-button>
        </div>
      </el-dialog>


 methods: {
   //删除代码
    handleDelete(index, row) {
      console.log(index);
        //当删除按钮被点击时,直接执行axios后台操作即可,不过参数id要和row绑定,因为绑定后删除根据用户点击的编号自动更改参数ID
      axios
        .delete("http://localhost:8087/DeleteFromId", {
          params: {
            id: row.id,
          },
        })
        .then((res) => {
          console.log(res);
          if (res.data != null) {
            this.$message.success("删除成功");
            this.select();
          }
        });
    },
    
};

 

标签:Vue,console,删除,user,dialog,按钮,id,row
From: https://www.cnblogs.com/ZhuAo/p/16887853.html

相关文章

  • Vue脚手架安装慢解决
    https://www.cnblogs.com/Aangle-long/p/11600966.html安装npminstall时,长时间停留在fetchMetadata:xxxxxx处, 是数据源的问题,下载太慢了 更换成淘宝的源就行了np......
  • #yyds干货盘点#vue使用事件总线进行模块之间的通信
        vue组件非常常见的有父子组件通信,兄弟组件通信。而父子组件通信就很简单,父组件会通过props传数据给子组件,当子组件有事情要告诉父组件时会通过$emit事件告诉......
  • vue mock
    vue域名定义引用已经定义的`${direct.sitv1}/path`抖动currenMethod:debounce(function(){action;},100); importMockfrom'mockjs';import{getQueryParams}fr......
  • Vue 刷新后回登陆页
    在Vue项目中无论在当前在哪个页面上时,如果点击浏览器的刷新实现回到登陆页的方法  在 App.vue 中 this.$router.push("/");//直接跳转至首页beforeCreate(){}......
  • vue实现上下切换自动轮播 移入移出暂停轮播
    <template><divclass="about"><divstyle="display:flex;"><divclass="left"><divclass="box1"><divclass="box2":style="{bac......
  • sh: vue-cli-service: command not found
    mac环境下运行vue项目报错sh:vue-cli-service:commandnotfound解决方法:cd到项目目录下,执行命令sudorm-rfnode_modulespackage-lock.json&&npminstall然后根......
  • 47.vue-router的钩子函数
    钩子函数就是路由导航守卫;有7个守卫,分为3类;全局守卫:在全部的组件生效;beforeEach全局前置守卫afterEach全局后置守卫 解析守卫......
  • 初识Vue
    一、什么是Vue简单的说,Vue是一个用来开发Web界面的前端库,就是一个叫vue.js的文件,就好比jQuery库的jquery.js。但Vue远不止这些,vue周边还发展了很多其他的工具,也都是一堆j......
  • 46.使用过vuex和vue-router吗
    使用过,vuex是状态管理工具,它的数据可以被所有的组件获取,方法可以被所有的组件调用;vuex 的内部的运行机制:state提供了数据驱动视图,dispath派发actions执行异步操作,comm......
  • 组件之间的通信2-->vuex状态管理
    在上期,我们讲了父子组件的传递方式,但是,如果我们想知道这些数据从哪里来的话,就需要一层一层找父组件,最后才能找到数据,容易造成Prop逐级透传问题今天,我们将介绍另一......