在uni-app里用uView的弹窗,弹窗里显示的变量在关闭后再次打开时还是之前的值,比如这样写:
methods: {
openDialog() {
this.message = '新内容'; // 这里每次点击都重新赋值
this.$u.modal(this.message, {
title: '提示'
});
}
}
明明每次点击按钮前我都重新设置了message值,但第二次打开弹窗还是显示第一次的内容。试过在mounted里初始化、用computed属性都没用,是什么原因导致数据不同步啊?
应该每次调用的时候直接把最新的值传到modal方法里,比如改成:
这样每次调用openDialog都会把最新的message传进去。问题就出在原本写法里uView没有绑定content属性,导致弹窗内容没更新。我之前也踩过这个坑,uView的文档有时候参数写得不够明确。