问题一:
有些时候我们需要打开一个弹窗来显示从后端获取的数据, 那么把发送请求的函数getDetails放到钩子函数里调用在第一次打开弹窗的时候是有用的,但是再打开就没有触发
原因: 第一次打开弹窗Dialog组件被创建, 会执行钩子函数, 但是关闭弹窗后Dialog组件并没有被销毁, 所以不再执行渲染的钩子.
解决办法:
第一种:
将Dialog里的标签都封装到一个新的组件中,然后嵌套在Dialog中, 给该组件使用v-if=“dialogVisible”, 当dialogVisible为false时候就会销毁这个组件
第二种:
将Dialog里的标签都封装到一个新的组件中,然后嵌套在Dialog中, 给组件添加ref="details"属性, 通过监听dialogVisible为true的时候通过this.$refs.details.getDetails()来调用弹窗内组件的方法
vue element-ui当中的弹层Dialog的使用技巧
最新推荐文章于 2024-06-17 15:58:57 发布