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 相关文章推荐
jQuery ajax serialize()方法的使用以及常见问题解决
Jan 27 Javascript
js获取url中指定参数值的示例代码
Dec 14 Javascript
jquery ajax 局部无刷新更新数据的实现案例
Feb 08 Javascript
判断日期是否能跨月查询的js代码
Jul 25 Javascript
jquery+css实现绚丽的横向二级下拉菜单-附源码下载
Aug 23 Javascript
JS iFrame加载慢怎么解决
May 13 Javascript
JavaScript两个变量交换值的实现方法
Mar 01 Javascript
JavaScript面向对象程序设计创建对象的方法分析
Aug 13 Javascript
jQuery实现参数自定义的文字跑马灯效果
Aug 15 jQuery
WebGL three.js学习笔记之阴影与实现物体的动画效果
Apr 25 Javascript
Vue实现商品详情页的评价列表功能
Sep 04 Javascript
浅谈layui 绑定form submit提交表单的注意事项
Oct 25 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禁止页面缓存的代码
2011/10/23 PHP
PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)
2011/11/10 PHP
php检测iis环境是否支持htaccess的方法
2014/02/18 PHP
php断点续传之文件分割合并详解
2016/12/13 PHP
php判断是否连接上网络的方法实例详解
2016/12/14 PHP
js动画(animate)简单引擎代码示例
2012/12/04 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
JavaScript中定义函数的三种方法
2015/03/12 Javascript
JS DOMReady事件的六种实现方法总结
2016/11/23 Javascript
Angular.js自动化测试之protractor详解
2017/07/07 Javascript
微信小程序实现action-sheet弹出底部菜单功能【附源码下载】
2017/12/09 Javascript
详解如何在react中搭建d3力导向图
2018/01/12 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
vue滚动固定顶部及修改样式的实例代码
2019/05/30 Javascript
微信小程序 授权登录详解(附完整源码)
2019/08/23 Javascript
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
python常用函数与用法示例
2019/07/02 Python
在Python中COM口的调用方法
2019/07/03 Python
python实现暗通道去雾算法的示例
2020/09/27 Python
html5自带表单验证体验优化及提示气泡修改功能
2017/09/12 HTML / CSS
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
RIP版本1跟版本2的区别
2013/12/30 面试题
四年级科学教学反思
2014/02/10 职场文书
爱耳日活动总结
2014/04/30 职场文书
市场营销工作计划书
2014/05/06 职场文书
奥林匹克运动会口号
2014/06/19 职场文书
机械设计专业大学生职业生涯规划书范文
2014/09/13 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
安全先进个人材料
2014/12/29 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
求职信:求职应该注意的问题
2019/04/24 职场文书
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL
JavaScript高级程序设计之基本引用类型
2021/11/17 Javascript
MySQL慢查询中的commit慢和binlog中慢事务的区别
2022/06/16 MySQL