forked from gxwebsoft/mp-10550
- 移除了 HeaderWithHook 和 IndexWithHook 组件 - 优化了 UserCard 组件,使用 forwardRef 和 useImperativeHandle暴露刷新方法 - 在 User 页面中添加 PullToRefresh组件实现下拉刷新 -集成了 useUserData 钩子用于刷新用户数据
73 lines
1.7 KiB
TypeScript
73 lines
1.7 KiB
TypeScript
import {useEffect, useRef} from 'react'
|
|
import {PullToRefresh} from '@nutui/nutui-react-taro'
|
|
import UserCard from "./components/UserCard";
|
|
import UserOrder from "./components/UserOrder";
|
|
import UserCell from "./components/UserCell";
|
|
import UserFooter from "./components/UserFooter";
|
|
import {useUser} from "@/hooks/useUser";
|
|
import {useUserData} from "@/hooks/useUserData";
|
|
import './user.scss'
|
|
import IsDealer from "./components/IsDealer";
|
|
|
|
function User() {
|
|
const {
|
|
isAdmin
|
|
} = useUser();
|
|
|
|
const { refresh } = useUserData()
|
|
const userCardRef = useRef<any>()
|
|
|
|
// 下拉刷新处理
|
|
const handleRefresh = async () => {
|
|
await refresh()
|
|
// 如果 UserCard 组件有自己的刷新方法,也可以调用
|
|
if (userCardRef.current?.handleRefresh) {
|
|
await userCardRef.current.handleRefresh()
|
|
}
|
|
}
|
|
|
|
useEffect(() => {
|
|
}, []);
|
|
|
|
/**
|
|
* 门店核销管理
|
|
*/
|
|
if (isAdmin()) {
|
|
return (
|
|
<PullToRefresh
|
|
onRefresh={handleRefresh}
|
|
headHeight={60}
|
|
>
|
|
<div className={'w-full'} style={{
|
|
background: 'linear-gradient(to bottom, #e9fff2, #f9fafb)'
|
|
}}>
|
|
<UserCard ref={userCardRef}/>
|
|
<UserOrder/>
|
|
<IsDealer/>
|
|
<UserCell/>
|
|
<UserFooter/>
|
|
</div>
|
|
</PullToRefresh>
|
|
)
|
|
}
|
|
|
|
return (
|
|
<PullToRefresh
|
|
onRefresh={handleRefresh}
|
|
headHeight={60}
|
|
>
|
|
<div className={'w-full'} style={{
|
|
background: 'linear-gradient(to bottom, #e9fff2, #f9fafb)'
|
|
}}>
|
|
<UserCard ref={userCardRef}/>
|
|
<UserOrder/>
|
|
<IsDealer/>
|
|
<UserCell/>
|
|
<UserFooter/>
|
|
</div>
|
|
</PullToRefresh>
|
|
)
|
|
}
|
|
|
|
export default User
|