Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)


Posted in Javascript onMarch 11, 2020

1. 实现效果

Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)

2.实现原理

在父组件中点击编辑按钮,将当前点击对象的id传给子组件,子组件根据id修改相应的内容

父组件中代码:

//放置编辑按钮的位置
<button type="button" class="layui-btn layui-btn-normal layui-btn-sm" v-on:click="edit(manage.id)"><i class="layui-icon"></i>编辑</button>
// 在methods中设计edit()方法
//需要先引入编辑组件
import EditManage from './EditManage'
 edit(id){
    this.$layer.iframe({
     type:2,
     title:"编辑",
     area:['600px','450px'],
     shade:true,
     offset:'auto',
     content:{
      content:EditManage,//传递的编辑组件主线
      parent:this,
      data:{
       info:{id:id}// 传递的要编辑内容的id值
      }
     }
    })
   },

子组件EditManage代码

<template>
 <div class="editmanage container">
  <form class="form" v-on:submit="editManage">
   <div class="form-group">
    <label>账号</label>
    <input type="text" required placeholder="账号" autocomplete="off" class="form-control" v-model="manage.account">
   </div>
   <div class="form-group">
    <label>用户名</label>
    <input type="text" required placeholder="用户名" autocomplete="off" class="form-control" v-model="manage.username">
   </div>
   <div class="form-group">
    <label >密码</label>
    <input type="password" required placeholder="密码" autocomplete="off" class="form-control" v-model="manage.password">
   </div>

   <div class="form-group">
    <label >权限</label>
    <select name="authority" class="form-control" v-model="manage.authority">
     <option value="超级管理员" >超级管理员</option>
     <option value="普通管理员" >普通管理员</option>
    </select>
   </div>
   <button type="submit" class="btn btn-info">立即提交</button>
  </form>
 </div>
</template>

<script>
 export default {
  name: 'addmanage',
  data () {
   return {
    manage:{},
    form:{}
   }
  },
  props:{
  //接收父组件传来的id值
   info:{
    type:Object,
    default:()=>{
     return {}
    }
   },
   layerid:{
    type:String,
    default:""
   },
   lydata:{
    type:Object,
    default:()=>{
     return {}
    }
   }
  },
  methods:{
  //用来显示对应id的编辑内容,在created中调用
   fetchManage(id){
    this.$http.get('http://localhost:3000/manage/'+id)
     .then(function (response) {
      this.manage=response.body;
     })
   },
   editManage(e){
    if(!this.manage.account||!this.manage.username||!this.manage.password||!this.manage.authority){
     this.$layer.msg("请添加对应信息!")
    }else{
     let updateManage={
      account:this.manage.account,
      username:this.manage.username,
      password:this.manage.password,
      authority:this.manage.authority
     };   this.$http.put("http://localhost:3000/manage/"+this.info.id,updateManage)
      .then(function (response) {
      //关闭父组件中的编辑弹框
       this.$layer.close(this.layerid);
       //弹出提示信息,默认时间为3秒
       this.$layer.msg("修改管理员信息成功!");


      });
     e.preventDefault()
    }
    e.preventDefault()
   }
  },
  created(){
  // this.info.id父组件传给子组件的id值
   this.fetchManage(this.info.id);

  }
 }
</script>

<style scoped>
 .editmanage{
  margin:8px 20px 20px 20px;
 }
</style>

到此这篇关于Vue项目结合Vue-layer实现弹框式编辑功能(实例代码)的文章就介绍到这了,更多相关Vue弹框式编辑内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript dom 操作详解 js加强
Jul 13 Javascript
fireworks菜单生成器mm_menu.js在 IE 7.0 显示问题的解决方法
Oct 20 Javascript
JavaScript window.setTimeout() 的详细用法
Nov 04 Javascript
利用JS实现浏览器的title闪烁
Jul 08 Javascript
Select下拉框模糊查询功能实现代码
Jul 22 Javascript
node.js 和HTML5开发本地桌面应用程序
Dec 13 Javascript
javascript ASCII和Hex互转的实现方法
Dec 27 Javascript
从零学习node.js之搭建http服务器(二)
Feb 21 Javascript
JavaScript实现反转字符串的方法详解
Apr 27 Javascript
JS实现的杨辉三角【帕斯卡三角形】算法示例
Feb 26 Javascript
vue实现数据控制视图的原理解析
Jan 07 Javascript
vue3.0自定义指令(drectives)知识点总结
Dec 27 Vue.js
使用Node.js实现base64和png文件相互转换的方法
Mar 11 #Javascript
vue 移动端记录页面浏览位置的方法
Mar 11 #Javascript
Js逆向实现滑动验证码图片还原的示例代码
Mar 10 #Javascript
微信小程序获取公众号文章列表及显示文章的示例代码
Mar 10 #Javascript
jquery实现烟花效果(面向对象)
Mar 10 #jQuery
非常漂亮的js烟花效果
Mar 10 #Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 #Javascript
You might like
仿AS3实现PHP 事件机制实现代码
2011/01/27 PHP
php urlencode()与urldecode()函数字符编码原理详解
2011/12/06 PHP
Php无限级栏目分类读取的实现代码
2014/02/19 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
php按字符无乱码截取中文的方法
2015/03/27 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PhpStorm本地断点调试的方法步骤
2018/05/21 PHP
Prototype 学习 Prototype对象
2009/07/12 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
了不起的node.js读书笔记之node.js中的特性
2014/12/22 Javascript
深入理解JavaScript中为什么string可以拥有方法
2016/05/24 Javascript
微信小程序-消息提示框实例
2016/11/24 Javascript
vue2.0结合DataTable插件实现表格动态刷新的方法详解
2017/03/17 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
Vuex 模块化使用详解
2019/07/31 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
JavaScript实现动态生成表格
2020/08/02 Javascript
Vue路由 重定向和别名的区别说明
2020/09/09 Javascript
[01:20:47]DOTA2-DPC中国联赛 正赛 Ehome vs Magma BO3 第一场 1月19日
2021/03/11 DOTA
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
python的re正则表达式实例代码
2018/01/24 Python
pytorch加载自定义网络权重的实现
2020/01/07 Python
CSS3中各种颜色属性的使用教程
2016/05/17 HTML / CSS
游戏商店:Eneba
2020/04/25 全球购物
大学生学期自我鉴定
2014/03/19 职场文书
教师节促销方案
2014/03/22 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
论语读书笔记
2015/06/26 职场文书
公证书
2019/04/17 职场文书
css3属性选择器 “~”(波浪号) “,”(逗号) “+”(加号)和 “>”(大于号)
2022/04/19 HTML / CSS
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL