- 调整文章列表组件路径并优化渲染逻辑 - 添加骨架屏加载效果提升用户体验 - 完善错误处理机制增强页面稳定性- 更新页面配置文件路径引用 - 移除冗余的页面配置和组件引用 -优化首页Banner组件加载状态处理 - 增强热销商品Tab切换功能和空状态展示- 调整用户经销商组件调试日志- 修改全局应用配置中的页面路径引用 - 调整主题处理逻辑执行时机
60 lines
1.3 KiB
TypeScript
60 lines
1.3 KiB
TypeScript
import {useEffect, useState} from "react";
|
|
import {Tabs, Loading} from '@nutui/nutui-react-taro'
|
|
import {pageCmsArticle} from "@/api/cms/cmsArticle";
|
|
import {CmsArticle} from "@/api/cms/cmsArticle/model";
|
|
import ArticleList from "./ArticleList";
|
|
|
|
const ArticleTabs = (props: any) => {
|
|
const [loading, setLoading] = useState<boolean>(true)
|
|
const [tab1value, setTab1value] = useState<string | number>('0')
|
|
const [list, setList] = useState<CmsArticle[]>([])
|
|
|
|
const reload = async (value) => {
|
|
const {data} = props
|
|
pageCmsArticle({
|
|
categoryId: data[value].navigationId,
|
|
page: 1,
|
|
status: 0,
|
|
limit: 10
|
|
}).then((res) => {
|
|
res && setList(res?.list || [])
|
|
})
|
|
.catch(err => {
|
|
console.log(err)
|
|
})
|
|
.finally(() => {
|
|
setTab1value(value)
|
|
setLoading(false)
|
|
})
|
|
}
|
|
|
|
useEffect(() => {
|
|
reload(0).then()
|
|
}, []);
|
|
|
|
if (loading) {
|
|
return (
|
|
<Loading className={'px-2'}>加载中</Loading>
|
|
)
|
|
}
|
|
|
|
return (
|
|
<>
|
|
<Tabs
|
|
value={tab1value}
|
|
onChange={(value) => {
|
|
reload(value).then()
|
|
}}
|
|
>
|
|
{props.data?.map((item, index) => {
|
|
return (
|
|
<Tabs.TabPane title={item.categoryName} key={index}/>
|
|
)
|
|
})}
|
|
</Tabs>
|
|
<ArticleList data={list}/>
|
|
</>
|
|
)
|
|
}
|
|
export default ArticleTabs
|