@td-design/react-native
Version:
react-native UI组件库
40 lines • 870 B
JavaScript
import { Keyboard } from 'react-native';
import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks';
import useConfirm from '../confirm/useConfirm';
export default function usePrompt(_ref) {
let {
onOk,
onCancel
} = _ref;
const [value, onChange] = useSafeState();
const okFun = useMemoizedFn(async () => {
const result = await (onOk === null || onOk === void 0 ? void 0 : onOk(value));
return result;
});
const {
visible,
okBtnLoading,
cancelBtnLoading,
hide,
handleOk: _handleOk,
handleCancel
} = useConfirm({
onOk: okFun,
onCancel
});
const handleOk = useMemoizedFn(() => {
Keyboard.dismiss();
_handleOk();
});
return {
value,
visible,
okBtnLoading,
cancelBtnLoading,
hide,
onChange,
handleOk,
handleCancel
};
}
//# sourceMappingURL=usePrompt.js.map