Skip to content

Commit b3afb9c

Browse files
committed
feat(ui): 增加头像组件错误处理功能
1 parent e9ed7c9 commit b3afb9c

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

app/components/ui/Avatar.tsx

+13-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React from 'react';
1+
import React, { useState } from 'react';
22

33
interface AvatarProps {
44
src: string;
@@ -7,11 +7,21 @@ interface AvatarProps {
77
}
88

99
export function Avatar({ src, alt, className = '' }: AvatarProps) {
10+
const [imgSrc, setImgSrc] = useState(src);
11+
const [error, setError] = useState(false);
12+
13+
const handleError = () => {
14+
setError(true);
15+
// 设置一个默认的头像 URL
16+
setImgSrc('/default-avatar.png');
17+
};
18+
1019
return (
1120
<img
12-
src={src}
21+
src={imgSrc}
1322
alt={alt}
14-
className={`w-8 h-8 rounded-full object-cover ${className}`}
23+
className={`w-8 h-8 rounded-full object-cover ${className} ${error ? 'opacity-50' : ''}`}
24+
onError={handleError}
1525
/>
1626
);
1727
}

0 commit comments

Comments
 (0)