🐞 fix(购物页面): 修复loading客户数据的时候闪现空状态的问题

This commit is contained in:
xuan
2022-10-26 11:55:46 +08:00
parent bd494b1759
commit a472af3593
5 changed files with 32 additions and 38 deletions
@@ -18,7 +18,8 @@
}
.line {
margin: 16px 0;
margin-top: 32px;
margin-bottom: 12px;
}
.topItem {
@@ -46,7 +47,6 @@
box-sizing: border-box;
overflow: hidden;
.orderTitle {
padding: 0 24px;
display: flex;
align-items: center;
color: $color_font_one;
+5 -12
View File
@@ -15,7 +15,6 @@ import { dataLoadingStatus, debounce, getFilterData } from '@/common/util'
import { ShoppingProvider } from './components/shoppingCart/index'
import { Goods, ShoppingDispatchType, useShoppingDispatch, useShoppingState } from './context'
import { alert, goLink, isEmptyObject } from '@/common/common'
import LoadingCard from '@/components/loadingCard'
export const Shopping: FC = memo(() => {
// 计算总的预估金额
@@ -91,6 +90,7 @@ const ShoppingCartContainer: FC<InternalContainer> = () => {
//数据加载状态
const statusMore = useMemo(() => {
console.log('shoppingCartData==>', shoppingCartData, state)
const status = dataLoadingStatus({
list: shoppingCartData.list,
total: shoppingCartData.total,
@@ -122,12 +122,11 @@ const ShoppingCartContainer: FC<InternalContainer> = () => {
})()
}, [])
const [isPending, startTransition] = useTransition()
useEffect(() => {
startTransition(() => {
if (state.success) {
setShoppingCartData({ list: state.data, total: state.data.length })
})
}
}, [state])
// 结算
@@ -209,8 +208,6 @@ const ShoppingCartContainer: FC<InternalContainer> = () => {
}
}
return (
<View className={classnames('flex-col', styles.shopping)} id='shoppingContainer'>
<View className={styles['shopping--topBar']} id='topBar'>
@@ -227,14 +224,10 @@ const ShoppingCartContainer: FC<InternalContainer> = () => {
<View className={classnames('flex-item', 'flex-col', styles['shopping--context'])}>
<View id='shoppingListContainer' className={classnames(styles.shopping__list__container, 'flex-item')} style={{ height: listHeightRef.current }}>
<InfiniteScroll statusMore={statusMore} refresherEnabled={true} selfOnRefresherRefresh={handleRefresh} refresherTriggered={refreshStatus}>
{isPending ? (
<LoadingCard />
) : (
!!shoppingCartData?.list?.length &&
{!!shoppingCartData?.list?.length &&
shoppingCartData?.list?.map((item, index) => {
return <ItemList itemData={item} key={index}></ItemList>
})
)}
})}
</InfiniteScroll>
</View>
</View>