const supplierIdcolumns=reactive([])
const getsupplierId=()=>{
supplierIdcolumns=[]
let params={type:'1'};
$http.post('/trans/supplier/querySupplier',qs.stringify(params)).then((res)=>{
if(res.code=='00000'){
supplierIdcolumns=res.data
}else{
Toast.fail(res.codeMsg)
}
})
}
刚开始代码这样写的 发现绑不不上去值
然而 vue3是使用proxy 对于对象和数组不能直接整个赋值;
所以外面包一层 解决问题:
const state = reactive({
supplierIdcolumns: [],
});
const getsupplierId=()=>{
state.supplierIdcolumns=[]
let params={type:'1'};
$http.post('/trans/supplier/querySupplier',qs.stringify(params)).then((res)=>{
if(res.code=='00000'){
state.supplierIdcolumns=res.data
}else{
Toast.fail(res.codeMsg)
}
})
}
博客内容讲述了在Vue3中遇到的问题,即直接赋值无法更新响应式数组。作者通过使用`reactive`包裹状态对象来解决这个问题,确保在`getsupplierId`函数中对`supplierIdcolumns`的修改能够正确响应。这是一个关于Vue3响应式原理和最佳实践的例子。
1万+

被折叠的 条评论
为什么被折叠?



