Vue.js 3-替换/更新反应性对象而不会失去反应性
我需要在获取后使用一些数据更新反应对象:
setup(){
const formData = reactive({})
onMounted(() => {
fetchData().then((data) => {
if (data) {
formData = data //how can i replace the whole reactive object?
}
})
})
}
formData = data
将不起作用,formData = { ...formdata, data }
有没有更好的方法?
解决方案
reactive
应该定义一个具有嵌套字段的状态,可以如下所示:
setup(){
const data= reactive({formData :null })
onMounted(() => {
fetchData().then((data) => {
if (data) {
data.formData = data
}
})
})
}
如果只有一个嵌套字段,则使用ref
:
setup(){
const formData = ref({})
onMounted(() => {
fetchData().then((data) => {
if (data) {
formData.value = data
}
})
})
}
相关文章