实现表单输入限制主要看:handleCheckInput 这个函数
基本思路:在用户输入的时候,获取input输入的值,根据值判断是否符合最大值、最小值和数字等相关预设条件,如果不符合,则进行赋值替换。
可加入一些操作:加入防抖的操作,用户输入在多次输入值的时候,设定时间内,只获取最后一次值
import React, { useState, useCallback, FC, useEffect } from 'react'
import { t } from 'gm-i18n'
import { Flex, View, Dialog, Input, Toast } from '@xx-mobile/mp'
import { observer } from 'mobx-react'
import _ from 'lodash'
import store from '../store'
import classNames from 'classnames'
import { toJS } from 'mobx'
interface RecordDetailCellProps {
type?: 'page' | 'modal'
}
const RecordDetailCell: FC<RecordDetailCellProps> = ({ type = 'page' }) => {
const { record_detail, isOk } = store
/** 模拟强更新 */
const [, updateState] = useState({})
const forceUpdate = useCallback(() => updateState({}), [])
/** 删除 */
const handleDetele = (index: number, name: string): void => {
Dialog.delete(`确定要删除${name || ''}吗`).then(
() => {
// store.setCurrentViewId(`row-${index - 1 >= 0 ? index : 0}`)
return store.delMealRecordRow(index)
},
() => {
console.log('reject')
}
)
}
/**
* 一些校验 最大值、最小值、只能输入数字、保留小数点
* @param value
* @param