博客
关于我
element——弹窗
阅读量:333 次
发布时间: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/

你可能感兴趣的文章
zmq的send
查看>>
C++中的delete加深认识
查看>>
windows消息机制(转)
查看>>
STL笔试面试题总结(干货)(转)
查看>>
XML 和 HTML 之间的差异
查看>>
qt中moc的作用
查看>>
阿里钉钉面试题
查看>>
华为社招笔试
查看>>
MFC的Dlg和App什么区别?应用程序类与对话框类
查看>>
C\C++下获取系统进程或线程ID(转)
查看>>
VS环境变量(转)
查看>>
C++中找资源或者函数的方法
查看>>
一些留给自己的思考题(只求回过头来能够有所获)
查看>>
SQL函数返回表的写法
查看>>
delete对象时会自动调用类的析构函数
查看>>
C++ 子类对象直接赋值给父类对象可行,反过来不行
查看>>
WMWare下安装centOS7,并使用xshell进行连接记录.
查看>>
linux下同一个动态库名为何辣么多的.so文件
查看>>
SQL联表的方式(逗号, Left Join, Right Join)
查看>>
牛客网输入输出举例
查看>>