🌈 style(eslint): 新增eslint规则

This commit is contained in:
xuan
2022-12-02 18:59:29 +08:00
parent c3cb46a5a7
commit d49314aa5b
217 changed files with 19491 additions and 19187 deletions
+35 -33
View File
@@ -1,18 +1,19 @@
import { Input, View } from '@tarojs/components'
import { memo, useEffect, useMemo, useRef, useState } from 'react'
import Big from 'big.js'
import styles from './index.module.scss'
type params = {
minNum?: number //最小值
maxNum?: number //最大值
step?: number //步长
defaultNum?: number //默认值
digits?: number //多少位小数
import styles from './index.module.scss'
interface params {
minNum?: number // 最小值
maxNum?: number // 最大值
step?: number // 步长
defaultNum?: number // 默认值
digits?: number // 多少位小数
onChange?: (val: number) => void
onBlue?: (val: number) => void //失去焦点触发
onBlue?: (val: number) => void // 失去焦点触发
onClickBtn?: (val: number) => void
unit?: string
disable?: true | false //是否禁用
disable?: true | false // 是否禁用
}
export default memo((props: params) => {
return <Counter {...props}></Counter>
@@ -20,24 +21,24 @@ export default memo((props: params) => {
function areEqual(prevProps: params, nextProps: params) {
return (
prevProps.defaultNum == nextProps.defaultNum &&
prevProps.unit == nextProps.unit &&
prevProps.minNum == nextProps.minNum &&
prevProps.maxNum == nextProps.maxNum &&
prevProps.step == nextProps.step &&
prevProps.digits == nextProps.digits
prevProps.defaultNum == nextProps.defaultNum
&& prevProps.unit == nextProps.unit
&& prevProps.minNum == nextProps.minNum
&& prevProps.maxNum == nextProps.maxNum
&& prevProps.step == nextProps.step
&& prevProps.digits == nextProps.digits
)
}
const Counter = memo((props: params) => {
let { minNum = 0, maxNum = 10000, step = 1, digits = 0, defaultNum = 0, onChange, onBlue, onClickBtn, unit = '', disable = false } = props
const { minNum = 0, maxNum = 10000, step = 1, digits = 0, defaultNum = 0, onChange, onBlue, onClickBtn, unit = '', disable = false } = props
const [value, setValue] = useState<any>({ count: defaultNum })
// useEffect(() => {
// setValue({ count: defaultNum })
// }, [defaultNum])
console.log('1231231231231212')
const onPlus = () => {
if (disable) return false
let { count } = value
if (disable) { return false }
const { count } = value
let num_res = Big(count).add(step).toNumber()
num_res = num_res >= maxNum ? maxNum : num_res
num_res = formatDigits(num_res)
@@ -46,8 +47,8 @@ const Counter = memo((props: params) => {
onClickBtn?.(parseFloat(num_res))
}
const minus = () => {
if (disable) return false
let { count } = value
if (disable) { return false }
const { count } = value
let num_res = Big(count).minus(step).toNumber()
num_res = num_res < minNum ? minNum : num_res
// setValue({ ...value, count: num_res })
@@ -55,23 +56,23 @@ const Counter = memo((props: params) => {
onClickBtn?.(parseFloat(num_res))
}
//保留小数
// 保留小数
const formatDigits = (num) => {
num = num + ''
num = `${num}`
if (num.includes('.') && digits > 0) {
console.log('num::', num.includes('.'))
let res = num.split('.')
let last_num = res[1].substr(0, digits)
return res[0] + '.' + last_num
const res = num.split('.')
const last_num = res[1].substr(0, digits)
return `${res[0]}.${last_num}`
}
return parseFloat(num)
}
//检查数据
// 检查数据
const checkData = (val) => {
let num = parseFloat(val)
if (num > maxNum) return maxNum
if (num < minNum) return minNum
const num = parseFloat(val)
if (num > maxNum) { return maxNum }
if (num < minNum) { return minNum }
return val
}
@@ -100,13 +101,14 @@ const Counter = memo((props: params) => {
}
const onBluerEven = (e) => {
let num = parseFloat(e.detail.value)
const num = parseFloat(e.detail.value)
if (!isNaN(num)) {
let count = formatDigits(num)
count = checkData(count)
// setValue({ ...value, count })
onBlue?.(count as number)
} else {
}
else {
// setValue({ ...value, count: defaultNum })
onBlue?.(minNum)
}
@@ -121,9 +123,9 @@ const Counter = memo((props: params) => {
value={String(props.defaultNum)}
onInput={onInputEven}
onBlur={onBluerEven}
type='digit'
type="digit"
disabled={disable}
alwaysEmbed={true}
alwaysEmbed
cursorSpacing={150}
/>
<View className={styles.unit}>{unit}</View>
+44 -36
View File
@@ -1,26 +1,27 @@
import { CustomWrapper, Input, View } from '@tarojs/components'
import { memo, useEffect, useMemo, useRef, useState } from 'react'
import Big from 'big.js'
import styles from './index.module.scss'
type params = {
minNum?: number //最小值
maxNum?: number //最大值
step?: number //步长
defaultNum?: number //默认值
digits?: number //多少位小数
import styles from './index.module.scss'
interface params {
minNum?: number // 最小值
maxNum?: number // 最大值
step?: number // 步长
defaultNum?: number // 默认值
digits?: number // 多少位小数
onChange?: (val: number) => void
onBlue?: (val: number) => void //失去焦点触发
onBlue?: (val: number) => void // 失去焦点触发
onClickBtn?: (val: number) => void
unit?: string
disabled?: true | false //是否禁用
returnZero?: true | false //少于最小值时是否归0
disabled?: true | false // 是否禁用
returnZero?: true | false // 少于最小值时是否归0
}
export default memo((props: params) => {
return <Counter {...props}></Counter>
})
const Counter = memo((props: params) => {
let {
const {
minNum = 0,
maxNum = 10000,
step = 1,
@@ -38,8 +39,8 @@ const Counter = memo((props: params) => {
setValue({ count: defaultNum })
}, [defaultNum])
const onPlus = () => {
if (disabled) return false
let count = value.count
if (disabled) { return false }
const count = value.count
let num_res = Big(count).add(step).toNumber()
num_res = num_res >= maxNum ? maxNum : num_res
num_res = formatDigits(num_res)
@@ -48,12 +49,13 @@ const Counter = memo((props: params) => {
onClickBtn?.(parseFloat(num_res))
}
const minus = () => {
if (disabled) return false
let count = value.count
if (disabled) { return false }
const count = value.count
let num_res = Big(count).minus(step).toNumber()
if (returnZero) {
num_res = num_res < minNum ? 0 : num_res
} else {
}
else {
num_res = num_res < minNum ? minNum : num_res
}
setValue({ ...value, count: num_res })
@@ -61,15 +63,16 @@ const Counter = memo((props: params) => {
onClickBtn?.(parseFloat(num_res))
}
//保留小数
// 保留小数
const formatDigits = (num) => {
num = num + ''
num = `${num}`
if (num.includes('.')) {
let res = num.split('.')
const res = num.split('.')
if (digits > 0) {
let last_num = res[1].substr(0, digits)
return res[0] + '.' + last_num
} else {
const last_num = res[1].substr(0, digits)
return `${res[0]}.${last_num}`
}
else {
return res[0]
}
}
@@ -77,56 +80,61 @@ const Counter = memo((props: params) => {
return parseFloat(num)
}
//检查数据
// 检查数据
const checkData = (val) => {
let num = parseFloat(val)
if (num > maxNum) return maxNum
if (num < minNum) return minNum
const num = parseFloat(val)
if (num > maxNum) { return maxNum }
if (num < minNum) { return minNum }
return val
}
const onInputEven = (e) => {
let res = e.detail.value
const res = e.detail.value
if (res === '') {
onChange?.(minNum)
} else if (!isNaN(Number(res))) {
}
else if (!isNaN(Number(res))) {
let count = formatDigits(res)
count = checkData(count)
onChange?.(parseFloat(count as string))
} else {
let num = parseFloat(res)
}
else {
const num = parseFloat(res)
if (!isNaN(num)) {
let count = formatDigits(num)
count = checkData(count)
onChange?.(count as number)
} else {
}
else {
onChange?.(defaultNum)
}
}
}
const onBluerEven = (e) => {
let num = parseFloat(e.detail.value)
const num = parseFloat(e.detail.value)
if (e.detail.value == '') {
onBlue?.(minNum)
setValue({ count: minNum })
} else if (!isNaN(num)) {
}
else if (!isNaN(num)) {
let count = formatDigits(num)
count = checkData(count)
setValue({ count })
onBlue?.(count as number)
} else {
}
else {
setValue({ count: minNum })
onBlue?.(minNum)
}
}
return (
<View className={styles.main} onClick={(e) => e.stopPropagation()}>
<View className={styles.main} onClick={e => e.stopPropagation()}>
<View className={styles.reduce} onClick={() => minus()}>
-
</View>
<View className={styles.input}>
<Input type='digit' value={value.count} onInput={onInputEven} onBlur={onBluerEven} disabled={disabled} alwaysEmbed={true} cursorSpacing={150} />
<Input type="digit" value={value.count} onInput={onInputEven} onBlur={onBluerEven} disabled={disabled} alwaysEmbed cursorSpacing={150} />
<View className={styles.unit}>{unit}</View>
</View>
<View className={styles.plus} onClick={() => onPlus()}>