UNPKG

@schema-render/search-table-react

Version:
31 lines (30 loc) 988 B
import { jsx as _jsx } from "react/jsx-runtime"; import { useMemoizedFn, utils } from "@schema-render/core-react"; import { Button } from "antd"; import { useState } from "react"; const { logger } = utils; /** * 内置加载 loading 的按钮 * click 事件返回 promise 即可 */ export default function ButtonLoading({ children, onClick, noLoading = false, ...restProps }) { const [loading, setLoading] = useState(false); const handleClick = useMemoizedFn(async (e)=>{ if (noLoading) { onClick === null || onClick === void 0 ? void 0 : onClick(e); return; } setLoading(true); try { await (onClick === null || onClick === void 0 ? void 0 : onClick(e)); } catch (err) { logger.warn(err); } setLoading(false); }); return /*#__PURE__*/ _jsx(Button, { loading: loading, ...restProps, onClick: handleClick, children: children }); }