@schema-render/search-table-react
Version:
Conditional search table component.
31 lines (30 loc) • 988 B
JavaScript
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
});
}