为什么使用 ref 赋值时页面更新异常
这是接受数据的数组
let staffData = ref<{ workCode: string; [key: string]: any }[]>([])
然后初始化的时候调用接口
findAccrualStaffDetail({
pageNum: 1,
pageSize: 10,
billNo: prop.currentRow.taskNo,
regionType: 0,
billType: 0,
workCode:""
}).then(res => {
const { list } = res.data
staffData.value = list
})
这时候页面上显示所有的数据,正常的
但是我根据条件搜索时
const handleSearch = () => {
if (!keyword.value.trim()) {
console.log('没有keyValue1231232131231312312');
findAccrualStaffDetail({
pageNum: 1,
pageSize: 10,
billNo: prop.currentRow.taskNo,
regionType: 0,
billType: 0,
workCode: ''
}).then(res => {
console.log(res.data.list,'搜索后数据');
staffData.value = res.data.list
})
return;
}
findAccrualStaffDetail({
pageNum: 1,
pageSize: 10,
billNo: prop.currentRow.taskNo,
regionType: 0,
billType: 0,
workCode: keyword.value
}).then(res => {
staffData.value = res.data.list
})
}
先是workCode有值,然后过滤后的list赋值给staffData,然后清空workCode,这时候就异常了:页面上还是显示了过滤后的数据+所有的数据,相当于追加了所有的数据,为什么,我打印没有workCode的时候返回的数据是所有的数据,然后直接赋值的,为什么页面上还有过滤后的数据