elementUI无法通过this.$refs动态改变样式?
用了elementUI中的弹框,需求是点击弹框内的按钮后,内部弹框的宽度改变
本来想通过
//this.$refs.elDialog.style.width = '1500px' //1
//this.$refs.elDialog.width = '1500px' //2
第一句,width的值是能改变,也不报错,但是实际样式宽度没有改变
第二句,直接报错
runner-3.25.5.min.js:1 [Vue warn]: Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: "width"
found in
---> <ElDialog>... (1 recursive calls)
<Root>
请问一下这种情况应该怎么解决??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
谢谢上面两位的回答。但是两位的方法我都实践过了,都是不行呢。
所以我直接加了这个方法暴力改变宽度了
因为用this.$refs.elDialog绑定的elementUI组件的话,
直接
this.$refs.elDialog.style.width = '1500px'
的权限是不够高的,就是说虽然能改变,但是是无法展示。如果用
this.$refs.elDialog.width = '1500px'
的话,由于我是用的区域是数据父组件(相对于elementUI的dialog组件来说,这里嵌套了很多层了),所以是无法直接改变子组件的数据的。或这可以:width='' 绑定Dialog 的width
确保元素渲染再改宽度
另外我觉得框弹框并不是一个非常好的交互额。。。