🎈 perf(优化):

This commit is contained in:
2022-12-01 20:53:38 +08:00
parent d973905bbe
commit 461744054e
11 changed files with 120 additions and 79 deletions
+19 -2
View File
@@ -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))