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 相关文章推荐
巧妙破除网页右键禁用的十大绝招
Aug 12 Javascript
jquery 图片预加载 自动等比例缩放插件
Dec 25 Javascript
IE6下JS动态设置图片src地址问题
Jan 08 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
Jul 12 Javascript
javascript使用window.open提示“已经计划系统关机”的原因
Aug 15 Javascript
jquery动态切换背景图片的简单实现方法
May 14 Javascript
ES6扩展运算符的用途实例详解
Aug 20 Javascript
加载 vue 远程代码的组件实例详解
Nov 20 Javascript
Vue通过URL传参如何控制全局console.log的开关详解
Dec 07 Javascript
vue的toast弹窗组件实例详解
May 14 Javascript
vuex实现及简略解析(小结)
Mar 01 Javascript
小程序跳转H5页面的方法步骤
Mar 06 Javascript
使用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
PHP面向对象——访问修饰符介绍
2012/11/08 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
2014/06/10 PHP
ThinkPHP学习笔记(一)ThinkPHP部署
2014/06/22 PHP
PHP获取MySql新增记录ID值的3种方法
2014/06/24 PHP
php实现设计模式中的单例模式详解
2014/10/11 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
ThinkPHP中__initialize()和类的构造函数__construct()用法分析
2014/11/29 PHP
网页的标准,IMG不支持onload标签怎么办
2006/06/29 Javascript
prototype与jquery下Ajax实现的差别
2009/09/13 Javascript
JS 自定义带默认值的函数
2011/07/21 Javascript
详谈JavaScript 匿名函数及闭包
2014/11/14 Javascript
EasyUI中实现form表单提交的示例分享
2015/03/01 Javascript
分享经典的JavaScript开发技巧
2015/11/21 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
Javascript之Date对象详解
2016/06/07 Javascript
js实现功能比较全面的全选和多选
2017/03/02 Javascript
jQuery自定义元素右键点击事件(实现案例)
2017/04/28 jQuery
node.js使用免费的阿里云ip查询获取ip所在地【推荐】
2018/09/03 Javascript
Echart折线图手柄触发事件示例详解
2018/12/16 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
vue proxy 的优势与使用场景实现
2020/06/15 Javascript
python中的五种异常处理机制介绍
2014/09/02 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
Python字符串中添加、插入特定字符的方法
2019/09/10 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
python filecmp.dircmp实现递归比对两个目录的方法
2020/05/22 Python
html5 canvas 画图教程案例分析
2012/11/23 HTML / CSS
父亲生日宴会答谢词
2014/01/10 职场文书
自荐信如何制作?
2014/02/21 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
《改造我们的学习》心得体会
2014/11/07 职场文书
优秀党务工作者先进事迹材料
2014/12/25 职场文书
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle