0%

react()数据赋值后table不展示

记录一次react()数据赋值后table不展示的问题。

问题

代码:

1
2
3
4
5
6
<script lang="ts" setup>
let table = react()
getData().then(res => {
table = res.data
})
</script>

页面:

table空白一片

解决方法

Vue3 响应式使用 proxy 代理拦截,如果你是用 reactive api 重新赋值相当于没有被拦截到,所以不会触发响应式更新。

  1. 使用 Object.assign 的方式批量更新。
  2. 使用 ref() api 包裹,代替react(),但是赋值的时候要给value属性赋值。