taro-hooks
Version:
为 Taro 而设计的 Hooks Library
24 lines (23 loc) • 889 B
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var tslib_1 = require("tslib");
var taro_1 = require("@tarojs/taro");
var core_1 = require("@taro-hooks/core");
var usePromise_1 = tslib_1.__importDefault(require("../usePromise"));
var tool_1 = require("../utils/tool");
function useModal(option) {
var generalOption = (0, core_1.useRef)(option);
(0, core_1.useEffect)(function () {
generalOption.current = option;
}, [option]);
var showModalAsync = (0, usePromise_1["default"])(taro_1.showModal);
var show = function show(option) {
if (!option && !generalOption.current) return Promise.reject((0, tool_1.generateGeneralFail)('showModal', 'please provide a option'));
var modalOption = (0, tool_1.combineOptions)(generalOption.current, option);
return showModalAsync(modalOption);
};
return show;
}
exports["default"] = useModal;
;