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 相关文章推荐
textContent在Firefox下与innerText等效的属性
May 12 Javascript
Javascript客户端将指定区域导出到Word、Excel的代码
Oct 22 Javascript
防止动态加载JavaScript引起的内存泄漏问题
Oct 08 Javascript
jquery1.4 教程二 ajax方法的改进
Feb 25 Javascript
jquery DOM操作 基于命令改变页面
May 06 Javascript
js输入框邮箱自动提示功能代码实现
Dec 10 Javascript
jquery移除、绑定、触发元素事件使用示例详解
Apr 10 Javascript
js实现表单多按钮提交action的处理方法
Oct 24 Javascript
JavaScript检查子字符串是否在字符串中的方法
Feb 03 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
基于Bootstrap的标签页组件及bootstrap-tab使用说明
Jul 25 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 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 Array交叉表实现代码
2010/08/05 PHP
PHP gbk环境下json_dencode传送来的汉字
2012/11/13 PHP
解析php中eclipse 用空格替换 tab键
2013/06/24 PHP
PHP面向对象之后期静态绑定功能介绍
2015/05/18 PHP
PHP实现防盗链的方法分析
2017/07/25 PHP
JQuery EasyUI 加载两次url的原因分析及解决方案
2014/08/18 Javascript
jQuery及JS实现循环中暂停的方法
2015/02/02 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
Javascript实现Array和String互转换的方法
2015/12/21 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
js实现简单的碰壁反弹效果
2016/08/30 Javascript
JS动态生成年份和月份实例代码
2017/02/04 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
深入探究node之Transform
2017/07/20 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
在vue中多次调用同一个定义全局变量的实例
2018/09/25 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
Python 文件管理实例详解
2015/11/10 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
在pycharm 中添加运行参数的操作方法
2019/01/19 Python
使用matlab或python将txt文件转为excel表格
2019/11/01 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
scrapy数据存储在mysql数据库的两种方式(同步和异步)
2020/02/18 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
Python调用C/C++的方法解析
2020/08/05 Python
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
暇步士官网:Hush Puppies
2016/09/22 全球购物
希尔顿酒店官方网站:Hilton Hotels
2017/06/01 全球购物
Hotels.com印度:酒店预订
2019/05/11 全球购物
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
商场中秋节广播稿
2014/01/17 职场文书
文员岗位职责范本
2015/04/16 职场文书
导游词之山东八大关
2019/12/18 职场文书
解决MySQL添加新用户-ERROR 1045 (28000)的问题
2022/03/03 MySQL