Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【vue3】props 更新,页面未重新渲染 #3648

Closed
sufuwang opened this issue Jun 24, 2022 · 11 comments
Closed

【vue3】props 更新,页面未重新渲染 #3648

sufuwang opened this issue Jun 24, 2022 · 11 comments
Assignees
Labels
bug Something isn't working mp-weixin 微信小程序 vue3

Comments

@sufuwang
Copy link

问题描述
组件接收一个数组的 props ,组件内部会 emit 一个方法去修改这个数组(使用 this.$set 方法为数组内的 obj 添加一个 key),组件修改 props 成功(组件内监听 props ,数组为最新数据),但页面并没有重新渲染
这个 bug 在 3.0.0-alpha-3041520220609002 不存在
存在于 3.0.0-alpha-3050020220617001 版本

// 页面
<template>
  <Comp @change="change">
</tempalte>
<script>
export default {
  data() {
    list: [{a:'A'}]
  },
  methods: {
    change() {
      this.$set(this.list[0], 'b', 'B')
    }
  }
}
// 组件
<template>
  {{ list }}
  <button @click="change">change</button>
</tempalte>
<script>
export default {
  props: {
    list: Array,
  },
  methods: {
    change() {
      this.$emit('change')
    }
  }
}
</script>
@sufuwang sufuwang changed the title 【vue3】props 更新,页面未渲染 【vue3】props 更新,页面未重新渲染 Jun 24, 2022
@fxy060608
Copy link
Collaborator

  1. 说明运行平台
  2. 代码中错误很多,修复后,测试h5,mp-weixin没有问题

@sufuwang
Copy link
Author

  1. 说明运行平台
  2. 代码中错误很多,修复后,测试h5,mp-weixin没有问题

测试工程:https://github.com/sufuwang/uniapp_vite/tree/bug/emit
运行平台:微信小程序

@sufuwang
Copy link
Author

使用 3.0.0-alpha-3041520220609002 版本,也是没有问题的

或者这样调是没有问题的
image

@sufuwang
Copy link
Author

@fxy060608 大佬,以后发版本能不能搞一个日志,信息总是落后于你们,发现 bug 还得复现再提 issue ,搞一个日志,大家可以自查,你们也不用解决这么多 issue 了

@fxy060608
Copy link
Collaborator

@fxy060608 大佬,以后发版本能不能搞一个日志,信息总是落后于你们,发现 bug 还得复现再提 issue ,搞一个日志,大家可以自查,你们也不用解决这么多 issue 了

正式版:https://uniapp.dcloud.io/release.html
Alpha:https://uniapp.dcloud.io/release-note-alpha.html

@fxy060608
Copy link
Collaborator

  1. 说明运行平台
  2. 代码中错误很多,修复后,测试h5,mp-weixin没有问题

测试工程:https://github.com/sufuwang/uniapp_vite/tree/bug/emit 运行平台:微信小程序

怎么确认问题?我运行看不出问题在哪,一进去就是个list字符串

@sufuwang
Copy link
Author

  1. 说明运行平台
  2. 代码中错误很多,修复后,测试h5,mp-weixin没有问题

测试工程:https://github.com/sufuwang/uniapp_vite/tree/bug/emit 运行平台:微信小程序

怎么确认问题?我运行看不出问题在哪,一进去就是个list字符串

预期的效果是执行 index 页面的 setLazyUrl 方法,为数组的每一项新增一个 key lazyUrl, 启动项目后虽然执行了方法,且组件内部打印数组,也包含 lazyUrl ,但页面上却没有 lazyUrl

@sufuwang
Copy link
Author

@fxy060608 大佬,以后发版本能不能搞一个日志,信息总是落后于你们,发现 bug 还得复现再提 issue ,搞一个日志,大家可以自查,你们也不用解决这么多 issue 了

正式版:https://uniapp.dcloud.io/release.html Alpha:https://uniapp.dcloud.io/release-note-alpha.html

一时没有看明白,正式版是 vue2 版本,alpha 是 vue3 版本,对吗?

我在 npmjs.com 上看 @dcloudio/uni-app 是 alpha 版本

@fxy060608
Copy link
Collaborator

@fxy060608 大佬,以后发版本能不能搞一个日志,信息总是落后于你们,发现 bug 还得复现再提 issue ,搞一个日志,大家可以自查,你们也不用解决这么多 issue 了

正式版:https://uniapp.dcloud.io/release.html Alpha:https://uniapp.dcloud.io/release-note-alpha.html

一时没有看明白,正式版是 vue2 版本,alpha 是 vue3 版本,对吗?

我在 npmjs.com 上看 @dcloudio/uni-app 是 alpha 版本

上边的日志,包含了2,3的更新日志,如果是3,日志上会写明 vue3 项目

@sufuwang
Copy link
Author

https://uniapp.dcloud.io/release.html

@fxy060608 大佬,以后发版本能不能搞一个日志,信息总是落后于你们,发现 bug 还得复现再提 issue ,搞一个日志,大家可以自查,你们也不用解决这么多 issue 了

正式版:https://uniapp.dcloud.io/release.html Alpha:https://uniapp.dcloud.io/release-note-alpha.html

一时没有看明白,正式版是 vue2 版本,alpha 是 vue3 版本,对吗?
我在 npmjs.com 上看 @dcloudio/uni-app 是 alpha 版本

上边的日志,包含了2,3的更新日志,如果是3,日志上会写明 vue3 项目

https://uniapp.dcloud.io/release.html#_3-4-14-20220607
大佬, vue3 uniapp 所依赖的包,比如 @dcloudio/uni-app ,是不是现在均处于 alpha 版本,有正式版本嘛?有的话可以发一下嘛?

@fxy060608 fxy060608 self-assigned this Jun 24, 2022
@fxy060608 fxy060608 added bug Something isn't working vue3 mp-weixin 微信小程序 labels Jun 24, 2022
@fxy060608
Copy link
Collaborator

cli升级至:3.0.0-alpha-3050020220623003

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working mp-weixin 微信小程序 vue3
Projects
None yet
Development

No branches or pull requests

2 participants