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 相关文章推荐
IE6图片加载的一个BUG解决方法
Jul 13 Javascript
jQuery中需要注意的细节问题小结
Dec 06 Javascript
javascript实现删除前弹出确认框
Jun 04 Javascript
javascript实现类似java中getClass()得到对象类名的方法
Jul 27 Javascript
JavaScript简单下拉菜单实例代码
Sep 07 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
Dec 12 Javascript
BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法
Apr 03 Javascript
Bootstrop实现多级下拉菜单功能
Nov 24 Javascript
Vue中的异步组件函数实现代码
Jul 20 Javascript
JavaScript面向对象继承原理与实现方法分析
Aug 09 Javascript
JavaScript链式调用实例浅析
Dec 19 Javascript
使用Angular Cli如何创建Angular私有库详解
Jan 30 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使用session二维数组实例
2014/11/06 PHP
PHP 的Opcache加速的使用方法
2017/12/29 PHP
Javascript学习笔记5 类和对象
2010/01/11 Javascript
jquery+css3实现网页背景花瓣随机飘落特效
2015/08/17 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
jQuery实现鼠标经过像翻页和描点链接效果
2016/08/08 Javascript
jQuery实现复选框的全选和反选
2017/02/02 Javascript
jQuery用noConflict代替$的实现方法
2017/04/12 jQuery
vue移动端轻量级的轮播组件实现代码
2018/07/12 Javascript
Vue自定义toast组件的实例代码
2018/08/15 Javascript
Node.js + express基本用法教程
2019/03/14 Javascript
Vue使用NProgress进度条的方法
2019/09/21 Javascript
jquery实现烟花效果(面向对象)
2020/03/10 jQuery
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
2020/07/28 Javascript
一文秒懂nodejs中的异步编程
2021/01/28 NodeJs
Python3实现的画图及加载图片动画效果示例
2018/01/19 Python
使用python画个小猪佩奇的示例代码
2018/06/06 Python
Python IDLE清空窗口的实例
2018/06/25 Python
python可视化实现代码
2019/01/15 Python
django 消息框架 message使用详解
2019/07/22 Python
利用python-pypcap抓取带VLAN标签的数据包方法
2019/07/23 Python
浅谈Django QuerySet对象(模型.objects)的常用方法
2020/03/28 Python
python3.8动态人脸识别的实现示例
2020/09/21 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
在python3.9下如何安装scrapy的方法
2021/02/03 Python
python的scipy.stats模块中正态分布常用函数总结
2021/02/19 Python
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
服务生自我鉴定
2014/01/22 职场文书
大学生期末自我鉴定
2014/02/01 职场文书
党员党性分析材料
2014/02/17 职场文书
模具专业毕业生自荐书范文
2014/02/19 职场文书
药品营销专业毕业生自荐信
2014/07/02 职场文书
2014年医院科室工作总结
2014/12/20 职场文书
学生会辞职信
2015/03/02 职场文书
会计试用期工作总结2015
2015/05/28 职场文书
笔记本自带的win11如何跳过联网激活?
2022/04/20 数码科技