博客
关于我
element——弹窗
阅读量:334 次
发布时间:2019-03-04

本文共 1431 字,大约阅读时间需要 4 分钟。

本来以为弹窗挺简单的,结果自己想多了。这几天的使用碰到了好多问题。

在组件中使用弹窗

打开弹窗

注意点:

1、父组件
:visible.sync="open" 2、子组件props:{ //visible父组件传给子组件的值,控制是否显示弹窗 visible:{ type:Boolean, default:false }}3、弹窗的关闭如果只是关闭弹窗没有其它操作就 this.$emit('update:visible',false) 如果有其它操作就按照子组件给父组件传参的方式
this.$emit('change')change(){ this.open = false this.init()}

是不是固定写法不太清楚,公司很多前辈基本都这样

弹窗嵌套

今天碰见了个弹窗里套弹窗的操作,真让人头大

这个是官方的例子,重点是给外层弹窗加一个append-to-body 属性

新增与编辑操作共用一个弹窗

注意点:

1、弹窗的标题,要根据是新增还是编辑进行修改
2、先点击编辑操作,form表单数据正确。当点击新增时,form中应该没有任何数据,但是却显示之前编辑时的数据

实例

新增
取消

这样写是错误的,效果图如下

在这里插入图片描述
看起来是没问题的,实际上是有问题的。看下面这个图
在这里插入图片描述

  • 第一个图没问题是先打开的新增,新增时初始状态是空的,所以重置后还是为空。
  • 第二个图先打开的编辑,这时初始状态为张三的值,不是没有重置而实重置后还是张三。仔细观察可以看到关闭李四时,值重置成了张三

解决:

this.dialogT='编辑'this.$nextTick(()=>{   	this.form.name=row.name	this.form.age=row.age})

$nextTick 是在下次 DOM 更新循环结束之后执行延迟回调,在修改数据之后使用 $nextTick,则可以在回调中获取更新后的 DOM

因为form表单初始值都是underfunded,所以在初始化完成后再赋值,初始值是underfunded。之前是因为打开弹窗时还没有初始化完成,这时赋值会替代原来的underfunded

查看详情

在这里插入图片描述

转载地址:http://iegh.baihongyu.com/

你可能感兴趣的文章
针对单个网站的渗透思路
查看>>
Typescript 学习笔记六:接口
查看>>
【ASP.NET】ASP.NET中权限验证使用OnAuthorization实现
查看>>
02、MySQL—数据库基本操作
查看>>
OpenJDK1.8.0 源码解析————HashMap的实现(一)
查看>>
MySQL-时区导致的时间前后端不一致
查看>>
2021-04-05阅读小笔记:局部性原理
查看>>
go语言简单介绍,增强了解
查看>>
python file文件操作--内置对象open
查看>>
架构师入门:搭建基本的Eureka架构(从项目里抽取)
查看>>
MongoDB 快速扫盲贴
查看>>
修复搜狗、360等浏览器不识别SameSite=None 引起的单点登录故障
查看>>
EXTJS4.2——10.Tab+Iframe
查看>>
WEB基础——AJAX
查看>>
one + two = 3
查看>>
PHP serialize && unserialize Security Risk Research
查看>>
sctf_2019_easy_heap
查看>>
ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记
查看>>
PyQt5之音乐播放器
查看>>
Redis进阶实践之十八 使用管道模式提高Redis查询的速度
查看>>