fix(mining-admin-web): 修复用户列表页面空数据和错误处理
- 修复 data.items 可能为 undefined 导致的崩溃 - 添加 API 错误状态显示 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2a22d7d669
commit
3fe4f82906
|
|
@ -22,7 +22,7 @@ export default function UsersPage() {
|
||||||
const [page, setPage] = useState(1);
|
const [page, setPage] = useState(1);
|
||||||
const pageSize = 20;
|
const pageSize = 20;
|
||||||
|
|
||||||
const { data, isLoading } = useUsers({ page, pageSize, keyword: searchKeyword });
|
const { data, isLoading, error } = useUsers({ page, pageSize, keyword: searchKeyword });
|
||||||
|
|
||||||
const handleSearch = () => {
|
const handleSearch = () => {
|
||||||
setSearchKeyword(keyword);
|
setSearchKeyword(keyword);
|
||||||
|
|
@ -102,14 +102,20 @@ export default function UsersPage() {
|
||||||
))}
|
))}
|
||||||
</TableRow>
|
</TableRow>
|
||||||
))
|
))
|
||||||
) : data?.items.length === 0 ? (
|
) : error ? (
|
||||||
|
<TableRow>
|
||||||
|
<TableCell colSpan={12} className="text-center py-8 text-red-500">
|
||||||
|
加载失败: {(error as Error)?.message || '请稍后重试'}
|
||||||
|
</TableCell>
|
||||||
|
</TableRow>
|
||||||
|
) : !data?.items || data.items.length === 0 ? (
|
||||||
<TableRow>
|
<TableRow>
|
||||||
<TableCell colSpan={12} className="text-center py-8 text-muted-foreground">
|
<TableCell colSpan={12} className="text-center py-8 text-muted-foreground">
|
||||||
暂无数据
|
暂无数据
|
||||||
</TableCell>
|
</TableCell>
|
||||||
</TableRow>
|
</TableRow>
|
||||||
) : (
|
) : (
|
||||||
data?.items.map((user) => (
|
data.items.map((user) => (
|
||||||
<TableRow key={user.accountSequence}>
|
<TableRow key={user.accountSequence}>
|
||||||
{/* 头像 */}
|
{/* 头像 */}
|
||||||
<TableCell>
|
<TableCell>
|
||||||
|
|
@ -195,7 +201,7 @@ export default function UsersPage() {
|
||||||
</Table>
|
</Table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{data && data.totalPages > 1 && (
|
{data?.items && data.totalPages > 1 && (
|
||||||
<div className="flex items-center justify-between p-4 border-t">
|
<div className="flex items-center justify-between p-4 border-t">
|
||||||
<p className="text-sm text-muted-foreground">
|
<p className="text-sm text-muted-foreground">
|
||||||
共 {formatNumber(data.total)} 条,第 {page} / {data.totalPages} 页
|
共 {formatNumber(data.total)} 条,第 {page} / {data.totalPages} 页
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue