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事件冒泡传递(cancelBubble 、stopPropagation)
May 08 Javascript
javascript基础第一章 JavaScript与用户端
Jul 22 Javascript
xml文档转换工具,附图表例子(hta)
Nov 17 Javascript
围观tangram js库
Dec 28 Javascript
JS声明变量背后的编译原理剖析
Dec 28 Javascript
实现点击列表弹出列表索引的两种方式
Mar 08 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
JS往数组中添加项性能分析
Feb 25 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
Dec 25 Javascript
vue webpack打包优化操作技巧
Feb 22 Javascript
Vue.js实现的购物车功能详解
Jan 27 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
Laravel 实现密码重置功能
2018/02/23 PHP
php多进程应用场景实例详解
2019/07/22 PHP
jquery的ajax从纯真网(cz88.net)获取IP地址对应地区名
2009/12/02 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
javascript 系统文件夹文件操作及参数介绍
2013/01/08 Javascript
javascript父、子页面交互技巧总结
2014/08/08 Javascript
JavaScript中的公有、私有、特权和静态成员用法分析
2014/11/20 Javascript
浅析jQuery EasyUI中的tree使用指南
2014/12/18 Javascript
js实现最短的XML格式化工具实例
2015/03/12 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
JS获取多维数组中相同键的值实现方法示例
2017/01/06 Javascript
php简单数据库操作类的封装
2017/06/08 Javascript
Angular数据绑定机制原理
2018/04/17 Javascript
快速了解Vue父子组件传值以及父调子方法、子调父方法
2020/07/15 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
Vue中使用Echarts仪表盘展示实时数据的实现
2020/11/01 Javascript
[14:56]教你分分钟做大人:巫医
2014/10/30 DOTA
[36:17]DOTA2上海特级锦标赛 - VGL音乐会全集
2016/03/06 DOTA
将TensorFlow的模型网络导出为单个文件的方法
2018/04/23 Python
python卸载后再次安装遇到的问题解决
2019/07/10 Python
Flask-WTF表单的使用方法
2019/07/12 Python
如何用python写个模板引擎
2021/01/14 Python
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
June Jacobs尊积帕官网:知名的spa水疗护肤品牌
2019/03/21 全球购物
亚马逊意大利站点:Amazon.it
2020/12/31 全球购物
施工安全协议书
2013/12/11 职场文书
会议接待欢迎词
2014/01/12 职场文书
活动总结报告范文
2014/05/04 职场文书
2014预备党员批评与自我批评思想汇报
2014/09/20 职场文书
2014超市双十一活动策划方案
2014/09/29 职场文书
学校清洁工岗位职责
2015/04/15 职场文书
2019自荐信该如何写呢?
2019/07/05 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android