в фильтре. Уже миллион вариаций кода написал и ни один не работает)
сейчас вот такой вариант у меня. Что сделать, чтобы заработало? ключ квери сейчас ни в какую не хочет обновляться
export const useDocDetailList = (filterRef: MaybeRefOrGetter<ArrivalDocDetailFilter>) => {
let filter = toValue(filterRef);
let key = detailKeys.detailList.root(filter.ArrivalDocId);
watchEffect(() => {
filter = toValue(filterRef);
key = detailKeys.detailList.root(filter.ArrivalDocId);
});
const { isLoading, isError, isFetching, data, error } = useQuery({
queryKey: key,
queryFn: async () => {
const response = await getArrivalDocDetailList(filter);
if (response.Data) {
response.Data.forEach(x => {
if (x.ExpiryDate) {
x.ExpiryDate = new Date(x.ExpiryDate);
}
});
}
return response;
}
});
return { isLoading, isError, isFetching, data, error };
};
export const detailKeys = {
detailList: {
root: (Id: number) => ['detailList', Id]
}
};
Очевидно, нужно чтоб key был реактивной переменной
хм. Я думал, что если я руками буду менять переменную, то это тоже считается, но нет const key = computed(() => { return detailKeys.detailList.root(toValue(filterRef).ArrivalDocId); }); так заработало. Спасибо
Обсуждают сегодня