UNPKG

@td-design/react-native

Version:

react-native UI组件库

51 lines (49 loc) 1.18 kB
import { useMemoizedFn, useSafeState } from '@td-design/rn-hooks'; export default function useConfirm(_ref) { let { onOk, onCancel } = _ref; const [visible, setVisible] = useSafeState(true); const [okBtnLoading, setOkBtnLoading] = useSafeState(false); const [cancelBtnLoading, setCancelBtnLoading] = useSafeState(false); /** 确定操作 */ const handleOk = async () => { if (!onOk) { setVisible(false); return; } try { setOkBtnLoading(true); await onOk(); setOkBtnLoading(false); setVisible(false); } catch (error) { setOkBtnLoading(false); } }; /** 取消操作 */ const handleCancel = async () => { if (!onCancel) { setVisible(false); return; } try { setCancelBtnLoading(true); await onCancel(); setCancelBtnLoading(false); setVisible(false); } catch (error) { setCancelBtnLoading(false); } }; return { visible, okBtnLoading, cancelBtnLoading, hide: () => setVisible(false), handleOk: useMemoizedFn(handleOk), handleCancel: useMemoizedFn(handleCancel) }; } //# sourceMappingURL=useConfirm.js.map