🎈 perf(优化):
This commit is contained in:
@@ -13,13 +13,26 @@ type params = {
|
||||
onClickBtn?: (val: number) => void
|
||||
unit?: string
|
||||
disabled?: true | false //是否禁用
|
||||
returnZero?: true | false //少于最小值时是否归0
|
||||
}
|
||||
export default memo((props: params) => {
|
||||
return <Counter {...props}></Counter>
|
||||
})
|
||||
|
||||
const Counter = memo((props: params) => {
|
||||
let { minNum = 0, maxNum = 10000, step = 1, digits = 0, defaultNum = 0, onChange, onBlue, onClickBtn, unit = '', disabled = false } = props
|
||||
let {
|
||||
minNum = 0,
|
||||
maxNum = 10000,
|
||||
step = 1,
|
||||
digits = 0,
|
||||
defaultNum = 0,
|
||||
onChange,
|
||||
onBlue,
|
||||
onClickBtn,
|
||||
returnZero = false,
|
||||
unit = '',
|
||||
disabled = false,
|
||||
} = props
|
||||
const [value, setValue] = useState<any>({ count: defaultNum })
|
||||
useEffect(() => {
|
||||
setValue({ count: defaultNum })
|
||||
@@ -38,7 +51,11 @@ const Counter = memo((props: params) => {
|
||||
if (disabled) return false
|
||||
let count = value.count
|
||||
let num_res = Big(count).minus(step).toNumber()
|
||||
num_res = num_res < minNum ? minNum : num_res
|
||||
if (returnZero) {
|
||||
num_res = num_res < minNum ? 0 : num_res
|
||||
} else {
|
||||
num_res = num_res < minNum ? minNum : num_res
|
||||
}
|
||||
setValue({ ...value, count: num_res })
|
||||
onChange?.(parseFloat(num_res))
|
||||
onClickBtn?.(parseFloat(num_res))
|
||||
|
||||
@@ -303,6 +303,11 @@ export default ({ show = false, onClose, intoStatus = 'shop', default_sale_mode
|
||||
setShowLabImage(() => false)
|
||||
}, [])
|
||||
|
||||
const goShop = useCallback(() => {
|
||||
onClose?.()
|
||||
goLink('/pages/index/index', null, 'switchTab')
|
||||
}, [])
|
||||
|
||||
return (
|
||||
<View className={styles.shop_cart_main}>
|
||||
<Popup showTitle={false} show={showPopup} onClose={() => closePopup()}>
|
||||
@@ -341,7 +346,7 @@ export default ({ show = false, onClose, intoStatus = 'shop', default_sale_mode
|
||||
{!loading && listData?.length == 0 && (
|
||||
<View className={styles.empty}>
|
||||
<View className={styles.title}>暂未选择商品</View>
|
||||
<View className={styles.btn} onClick={() => goLink('/pages/index/index', null, 'switchTab')}>
|
||||
<View className={styles.btn} onClick={goShop}>
|
||||
去选购
|
||||
</View>
|
||||
</View>
|
||||
|
||||
Reference in New Issue
Block a user