对接api3
This commit is contained in:
+44
-26
@@ -5,16 +5,23 @@ import SideBar from '@/components/sideBar'
|
||||
import Product from '@/components/product'
|
||||
import MoveBtn from '@/components/moveBtn'
|
||||
import ShopCart from '@/components/shopCart'
|
||||
import styles from './index.module.scss'
|
||||
import { goLink } from '@/common/common'
|
||||
import styles from './index.module.scss'
|
||||
import { useEffect, useRef, useState } from 'react'
|
||||
import Taro, { useDidShow, usePullDownRefresh, useRouter } from '@tarojs/taro'
|
||||
import Taro, { Events, useDidShow, usePullDownRefresh, useRouter } from '@tarojs/taro'
|
||||
import useManualPullDownRefresh from '@/use/useManualPullDownRefresh'
|
||||
|
||||
import {GetProductKindListApi, GetProductListApi} from '@/api/material'
|
||||
import useLogin from '@/use/useLogin'
|
||||
|
||||
export default () => {
|
||||
|
||||
|
||||
|
||||
const {checkLogin} = useLogin()
|
||||
|
||||
useDidShow(() => {
|
||||
checkLogin()
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
categoryList()
|
||||
}, [])
|
||||
@@ -25,34 +32,42 @@ export default () => {
|
||||
const categoryList = async () => {
|
||||
const res = await fetchData()
|
||||
setKindData({...kindData, list:res.data.list, defaultId: res.data.list[0].id})
|
||||
filtrate.current.product_kind_id = res.data.list[0].id
|
||||
getProductList()
|
||||
setFiltrate({...filtrate, product_kind_id:res.data.list[0].id})
|
||||
}
|
||||
|
||||
//获取面料列表
|
||||
const [productData, setProductData] = useState({list:[], total:0, hasMore:true})
|
||||
const filtrate = useRef({product_kind_id:0, size: 5,page: 1})
|
||||
const [productData, setProductData] = useState({list:[], total:0})
|
||||
const [hasMore, setHasMore] = useState(true)
|
||||
const [filtrate, setFiltrate] = useState({product_kind_id:0, size: 5,page: 1})
|
||||
const pageNum = useRef(1)
|
||||
const {fetchData: productFetchData, state: productState} = GetProductListApi()
|
||||
const getProductKindId = async (e) => {
|
||||
filtrate.current.size = 5
|
||||
pageNum.current = 1
|
||||
filtrate.current.product_kind_id = e.id
|
||||
getProductList()
|
||||
}
|
||||
//获取数据方法
|
||||
const getProductList = async () => {
|
||||
filtrate.current.size = filtrate.current.size * pageNum.current
|
||||
const {data,total} = await productFetchData(filtrate.current)
|
||||
const {data,total} = await productFetchData(filtrate)
|
||||
setProductData({...productData,list:data.list,total})
|
||||
setRefresherTriggeredStatus(() => false)
|
||||
}
|
||||
//监听查询条件
|
||||
useEffect(() => {
|
||||
if(filtrate.product_kind_id)
|
||||
getProductList()
|
||||
}, [filtrate])
|
||||
|
||||
//点击面料类型
|
||||
const getProductKindId = async (e) => {
|
||||
pageNum.current = 1
|
||||
setFiltrate({...filtrate, size:5, product_kind_id:e.id})
|
||||
setHasMore(true)
|
||||
}
|
||||
|
||||
//上拉加载数据
|
||||
const getScrolltolower = () => {
|
||||
if(productData.list.length >= productData.total) {
|
||||
setProductData({...productData, hasMore: false})
|
||||
setHasMore(false)
|
||||
} else {
|
||||
pageNum.current++
|
||||
getProductList()
|
||||
const newSize = filtrate.size * pageNum.current
|
||||
setFiltrate({...filtrate, size:newSize})
|
||||
}
|
||||
}
|
||||
|
||||
@@ -62,18 +77,21 @@ export default () => {
|
||||
//列表下拉刷新
|
||||
const [refresherTriggeredStatus, setRefresherTriggeredStatus] = useState(false)
|
||||
const getRefresherRefresh = async () => {
|
||||
filtrate.current.size = 5
|
||||
pageNum.current = 1
|
||||
getProductList()
|
||||
setFiltrate({...filtrate, size:5})
|
||||
setHasMore(true)
|
||||
setRefresherTriggeredStatus(true)
|
||||
}
|
||||
useEffect(() => {
|
||||
setRefresherTriggeredStatus(productState.loading)
|
||||
}, [productState.loading])
|
||||
|
||||
|
||||
|
||||
|
||||
//页面下拉刷新
|
||||
const res = useManualPullDownRefresh()
|
||||
// const res = useManualPullDownRefresh()
|
||||
usePullDownRefresh(() => {
|
||||
console.log('123')
|
||||
})
|
||||
|
||||
|
||||
return (
|
||||
<MoveBtn onClick={() => setShowShopCart(!showShopCart)}>
|
||||
<View className={styles.main}>
|
||||
@@ -85,7 +103,7 @@ export default () => {
|
||||
</View>
|
||||
</View>
|
||||
<View className={styles.products}>
|
||||
<SideBar list={kindData.list} height="100%" defaultValue={kindData.defaultId} hasMore={productData.hasMore} selfOnScrolltolower={() => getScrolltolower()} sideBarOnClick={(e) => getProductKindId(e)} heightItem={150} refresherTriggered={refresherTriggeredStatus} selfOnRefresherRefresh={() => getRefresherRefresh()}>
|
||||
<SideBar list={kindData.list} height="100%" defaultValue={kindData.defaultId} hasMore={hasMore} selfOnScrolltolower={() => getScrolltolower()} sideBarOnClick={(e) => getProductKindId(e)} heightItem={150} refresherTriggered={refresherTriggeredStatus} selfOnRefresherRefresh={() => getRefresherRefresh()}>
|
||||
<Product productList={productData.list}/>
|
||||
</SideBar>
|
||||
</View>
|
||||
|
||||
Reference in New Issue
Block a user