@fruits-chain/react-native-xiaoshu
Version:
🌈 React Native UI library
46 lines (43 loc) • 1.59 kB
JavaScript
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
import React, { useState, useEffect, memo, useCallback } from 'react';
import { callInterceptor } from '../helpers';
import StopSelector from './step-selector';
function StopSelectorMethod(_ref) {
let {
beforeClose,
onConfirm,
onCancel,
...restProps
} = _ref;
const [visible, setVisible] = useState(false);
useEffect(() => {
setVisible(true);
}, []);
const onPressClose = useCallback(() => {
onCancel === null || onCancel === void 0 ? void 0 : onCancel();
setVisible(false);
}, [onCancel]);
const onRequestClose = useCallback(() => {
onPressClose();
return true;
}, [onPressClose]);
const onChange = useCallback((v, o, isEnd) => {
if (isEnd) {
callInterceptor(beforeClose, {
args: [v, o, isEnd],
done: () => {
onConfirm === null || onConfirm === void 0 ? void 0 : onConfirm(v, o, isEnd);
setVisible(false);
}
});
}
}, [beforeClose, onConfirm]);
return /*#__PURE__*/React.createElement(StopSelector, _extends({}, restProps, {
visible: visible,
onPressClose: onPressClose,
onChange: onChange,
onRequestClose: onRequestClose
}));
}
export default /*#__PURE__*/memo(StopSelectorMethod);
//# sourceMappingURL=step-selector-method.js.map