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进阶教程(第四课第一部分)
Apr 05 Javascript
jquery animate 动画效果使用说明
Nov 04 Javascript
JS和jquery获取各种屏幕的宽度和高度的代码
Aug 02 Javascript
JS中的log对象获取以及debug的写法介绍
Mar 03 Javascript
用json方式实现在 js 中建立一个map
May 02 Javascript
js实现iGoogleDivDrag模块拖动层拖动特效的方法
Mar 04 Javascript
JS中获取函数调用链所有参数的方法
May 07 Javascript
javascript将DOM节点添加到文档的方法实例分析
Aug 04 Javascript
javascript对象的相关操作小结
May 16 Javascript
Bootstrap里的文件分别代表什么意思及其引用方法
May 01 Javascript
AngularJS ng-repeat指令及Ajax的应用实例分析
Jul 06 Javascript
vue实现某元素吸顶或固定位置显示(监听滚动事件)
Dec 13 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 中检查或过滤IP地址的实现代码
2011/11/27 PHP
php操作XML、读取数据和写入数据的实现代码
2014/08/15 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
详解PHP防止盗链防止迅雷下载的方法
2017/04/26 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
JavaScript使用cookie
2007/02/02 Javascript
修改jquery里的dialog对话框插件为框架页(iframe) 的方法
2010/09/14 Javascript
JavaScript中的排序算法代码
2011/02/22 Javascript
datagrid框架的删除添加与修改
2013/04/08 Javascript
JavaScript新窗口与子窗口传值详解
2014/02/11 Javascript
jquery通过ajax加载一段文本内容的方法
2015/01/15 Javascript
使用AngularJS创建单页应用的编程指引
2015/06/19 Javascript
jquery trigger函数执行两次的解决方法
2016/02/29 Javascript
js变量提升深入理解
2016/09/16 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
BootStrap fileinput.js文件上传组件实例代码
2017/02/20 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
JavaScript使用ZeroClipboard操作剪切板
2017/05/10 Javascript
vue.js前后端数据交互之提交数据操作详解
2018/04/24 Javascript
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
Vue Elenent实现表格相同数据列合并
2020/11/30 Vue.js
用Python制作简单的钢琴程序的教程
2015/04/01 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
使用HTML5 Canvas API绘制弧线的教程
2016/03/22 HTML / CSS
银行求职信范文
2014/05/26 职场文书
关于安全的标语
2014/06/10 职场文书
陈胜吴广起义口号
2014/06/20 职场文书
环境保护建议书
2014/08/26 职场文书
党的群众路线教育实践活动对照检查材料
2014/09/22 职场文书
使用 DataAnt 监控 Apache APISIX的原理解析
2022/07/07 Servers