@td-design/react-native
Version:
react-native UI组件库
36 lines (35 loc) • 1.17 kB
JavaScript
import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks';
export default function useNumberKeyboardModal(_ref) {
let {
value = '',
onPress,
onDelete,
onSubmit,
closeModal
} = _ref;
const [text, setText] = useSafeState(value);
/** 点击数字,第一次点击的时候,需要把之前的清掉 */
const handleChange = key => {
setText(text => text + key);
onPress === null || onPress === void 0 ? void 0 : onPress(key);
};
const handleInputClear = () => {
setText('');
};
const handleDelete = () => {
setText(text => text.length > 0 ? text.slice(0, text.length - 1) : '');
onDelete === null || onDelete === void 0 ? void 0 : onDelete();
};
const handleSubmit = () => {
onSubmit === null || onSubmit === void 0 ? void 0 : onSubmit(text);
closeModal === null || closeModal === void 0 ? void 0 : closeModal();
};
return {
text,
handleInputClear: useMemoizedFn(handleInputClear),
handleChange: useMemoizedFn(handleChange),
handleSubmit: useMemoizedFn(handleSubmit),
handleDelete: useMemoizedFn(handleDelete)
};
}
//# sourceMappingURL=useNumberKeyboardModal.js.map