hookehuyr

refactor(相册): 优化相册数据加载逻辑并移除自动加载

- 移除组件挂载时的自动数据加载
- 添加静默刷新功能,避免重复显示loading状态
- 修改刷新方法实现,区分首次加载和刷新操作
......@@ -134,10 +134,15 @@ const loading = ref(false);
/**
* 获取家庭相册数据
* @param {boolean} isRefresh - 是否为刷新操作,刷新时不显示loading状态
*/
const fetchAlbumData = async () => {
const fetchAlbumData = async (isRefresh = false) => {
try {
loading.value = true;
// 只有首次加载时才显示loading状态,刷新时保持原有内容
if (!isRefresh) {
loading.value = true;
}
const response = await getPhotoListAPI({
page: 0,
limit: 4 // 首页只显示4张
......@@ -151,7 +156,10 @@ const fetchAlbumData = async () => {
} catch (error) {
console.error('获取相册数据失败:', error);
} finally {
loading.value = false;
// 只有首次加载时才需要关闭loading状态
if (!isRefresh) {
loading.value = false;
}
}
};
......@@ -164,16 +172,23 @@ const openAlbumList = () => {
// 组件挂载时获取数据
onMounted(() => {
fetchAlbumData();
// fetchAlbumData();
});
useDidShow(() => {
fetchAlbumData();
// fetchAlbumData();
});
/**
* 刷新相册数据(静默刷新,不显示loading状态)
*/
const refreshData = () => {
fetchAlbumData(true);
};
// 暴露刷新方法给父组件
defineExpose({
refreshData: fetchAlbumData,
refreshData,
});
</script>
......
......@@ -151,7 +151,7 @@ const currentDeleteItem = ref(null);
*/
onMounted(() => {
Taro.setNavigationBarTitle({ title: '家庭相册' });
fetchAlbumList();
// fetchAlbumList();
});
useDidShow(() => {
......