|
@@ -16,23 +16,33 @@ const Left: React.FC<Props> = ({ actInfo }) => {
|
|
|
const [loading, setLoading] = React.useState<boolean>(true);
|
|
|
const [hasMore, setHasMore] = React.useState(true);
|
|
|
const [isInit, setIsInit] = React.useState(true);
|
|
|
+ const [isToggle, setIsToggle] = React.useState(false);
|
|
|
+
|
|
|
const PageRef = React.useRef({
|
|
|
current_page: 0,
|
|
|
page_size: 15,
|
|
|
});
|
|
|
|
|
|
- useDebounceEffect(() => {
|
|
|
- toInitFn();
|
|
|
- }, [actInfo]);
|
|
|
+ useDebounceEffect(
|
|
|
+ () => {
|
|
|
+ toInitFn();
|
|
|
+ },
|
|
|
+ [actInfo],
|
|
|
+ { wait: 1000 }
|
|
|
+ );
|
|
|
|
|
|
React.useEffect(() => {
|
|
|
- setData([]);
|
|
|
+ setIsToggle(true);
|
|
|
setIsInit(true);
|
|
|
setLoading(true);
|
|
|
}, [actInfo]);
|
|
|
|
|
|
const toInitFn = () => {
|
|
|
PageRef.current.current_page = 0;
|
|
|
+ setIsToggle(false);
|
|
|
+ setIsInit(true);
|
|
|
+ setLoading(true);
|
|
|
+ setData([]);
|
|
|
setHasMore(true);
|
|
|
};
|
|
|
|
|
@@ -41,6 +51,7 @@ const Left: React.FC<Props> = ({ actInfo }) => {
|
|
|
try {
|
|
|
setLoading(true);
|
|
|
setIsInit(false);
|
|
|
+
|
|
|
const params: any = {
|
|
|
...PageRef.current,
|
|
|
use_page: true,
|
|
@@ -70,12 +81,12 @@ const Left: React.FC<Props> = ({ actInfo }) => {
|
|
|
|
|
|
return (
|
|
|
<div className={styles.right}>
|
|
|
- {loading && isInit && (
|
|
|
+ {loading && isInit && isToggle && (
|
|
|
<div className="flex h-[100%] items-center justify-center">
|
|
|
<Loading></Loading>
|
|
|
</div>
|
|
|
)}
|
|
|
- {(isInit || data.length > 0) && (
|
|
|
+ {(isInit || data.length > 0) && !isToggle && (
|
|
|
<>
|
|
|
<div className={styles.rightBox}>
|
|
|
{data.map((item) => {
|