解决方法
1 使用ref
const form= ref({})
form.value = {...data}
2 如果是数组的话,可以使用push新增数据
const arr= reactive([])
arr.push(...[1, 2, 3])
3再封装一层数据(推荐!)即定义属性名,在后期赋值的时候,对属性名进行赋值
但是这样的话在html模板里,使用数据就得state.arr
所以我们可以用解构将它return出来(script setup 里面 不需要return 结构出来即可)
但是reactive解构出来的数据会丢失响应性
所以再用 toRefs()方法为它们添加响应性
最终为:
const state = reactive({
arr: [],
form:{}
});
state.arr = [1, 2, 3]
state.form = {...data}
return{ ...toRefs(state), }
//如果是在 script setup 里面 不需要return 结构出来即可
const { form,arr } = toRefs(state)