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 相关文章推荐
js利用div背景,做一个竖线的效果。
Nov 22 Javascript
jquery 学习之二 属性(类)
Nov 25 Javascript
网页打开自动最大化的js代码
Aug 22 Javascript
table对象中的insertRow与deleteRow使用示例
Jan 26 Javascript
JavaScript实现定时隐藏与显示图片的方法
Aug 06 Javascript
CSS或者JS实现鼠标悬停显示另一元素
Jan 22 Javascript
jQuery实现div横向拖拽排序的简单实例
Jul 13 Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
Nov 01 Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 Javascript
Angular.js中控制器之间的传值详解
Apr 24 Javascript
详解.vue文件解析的实现
Jun 11 Javascript
jquery 遍历hash操作示例【基于ajax交互】
Oct 12 jQuery
使用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
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
2016/12/14 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
javascript 显示当前系统时间代码
2009/12/28 Javascript
基于jquery的滚动条滚动固定div(附演示下载)
2012/10/29 Javascript
jquery next nextAll nextUntil siblings的区别介绍
2013/10/05 Javascript
现如今最流行的JavaScript代码规范
2014/03/08 Javascript
IE8中使用javascript动态加载CSS的解决方法
2014/06/17 Javascript
关于Javascript加载执行优化的研究报告
2014/12/16 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
JavaScript让Textarea支持tab按键的方法
2015/06/26 Javascript
利用jQuery来动态为属性添加或者删除属性的简单方法
2016/12/02 Javascript
js仿iphone秒表功能 计算平均数
2017/01/11 Javascript
angular 基于ng-messages的表单验证实例
2017/05/04 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
JavaScript函数节流和函数去抖知识点学习
2018/07/31 Javascript
vue+vant-UI框架实现购物车的复选框全选和反选功能
2019/11/05 Javascript
微信小程序实现Swiper轮播图效果
2019/11/22 Javascript
Django框架下在视图中使用模版的方法
2015/07/16 Python
让python在hadoop上跑起来
2016/01/27 Python
详解python之简单主机批量管理工具
2017/01/27 Python
python3操作mysql数据库的方法
2017/06/23 Python
python3+PyQt5 数据库编程--增删改实例
2019/06/17 Python
python原类、类的创建过程与方法详解
2019/07/19 Python
Python实现性能自动化测试竟然如此简单
2019/07/30 Python
Django中ajax发送post请求 报403错误CSRF验证失败解决方案
2019/08/13 Python
美国南部最大的家族百货公司:Belk
2017/01/30 全球购物
凯撒娱乐:Caesars Entertainment
2018/02/23 全球购物
德国童装购物网站:NICKI´S.com
2018/04/20 全球购物
仓库组长岗位职责
2014/01/29 职场文书
电气工程及其自动化专业毕业生自荐信
2014/06/21 职场文书
领导个人查摆剖析材料
2014/10/29 职场文书
浅谈golang package中init方法的多处定义及运行顺序问题
2021/05/06 Golang
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python
Linux安装Docker详细教程
2022/07/07 Servers
VW、VH适配移动端的解决方案与常见问题
2023/05/21 HTML / CSS