Vue3监听数组项变化
const value = ref(0)
const value1 = ref(0)
const dataone = reactive<unknown[]>([])
setTimeout(() => {
value.value = 4
}, 5000);
setTimeout(() => {
value1.value = 5
}, 8000);
setTimeout(() => {
dataone.push({
name: '牛总',
age: '22'
})
}, 10000);
setTimeout(() => {
dataone[0].name = '牛总1'
}, 12000);
const { run, loading } = useRequest(openTenderList, {
refreshDeps: [value, value1, dataone]
}, {
success(res) {
data.length = 0;
total.value = _.get(res, 'data.data.total', 0);
data.push(...(_.get(res, 'data.data.records', []) || []))
},
})
refreshDeps.forEach(ele => {
watch(
() => ele,
() => {
console.warn('元素变化', ele);
getSyncDataWrap(requestConfig.value);
},
{
deep: true,
}
);
});

可以看到依次变化的元素被监听到了