mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
58 lines • 2.43 kB
JavaScript
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["loading", "error", "done", "showLoadingIcon", "text", "className"];
import * as React from 'react';
import { DotLoading } from 'antd-mobile';
import classnames from 'classnames';
import { prefixClass } from '../../config';
import { useConfig } from '../BizConfigProvider';
import "./index.css";
var prefixCls = "".concat(prefixClass, "-scrollLoadView");
var BizScrollLoadView = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
var _ref$loading = _ref.loading,
loading = _ref$loading === void 0 ? false : _ref$loading,
_ref$error = _ref.error,
error = _ref$error === void 0 ? false : _ref$error,
_ref$done = _ref.done,
done = _ref$done === void 0 ? false : _ref$done,
_ref$showLoadingIcon = _ref.showLoadingIcon,
showLoadingIcon = _ref$showLoadingIcon === void 0 ? true : _ref$showLoadingIcon,
text = _ref.text,
className = _ref.className,
restProps = _objectWithoutProperties(_ref, _excluded);
var _useConfig = useConfig(),
locale = _useConfig.locale;
var textObj = React.useMemo(function () {
return _objectSpread(_objectSpread({}, locale.scrollLoadView), text);
}, [text, locale.scrollLoadView]);
var _React$useMemo = React.useMemo(function () {
var view = textObj.default;
var status = 'default';
if (loading) {
status = 'loading';
view = /*#__PURE__*/React.createElement(React.Fragment, null, textObj.loading, showLoadingIcon && /*#__PURE__*/React.createElement(DotLoading, null));
} else if (error) {
status = 'error';
view = textObj.error;
} else if (done) {
status = 'done';
view = textObj.done;
}
return {
view: view,
status: status
};
}, [done, error, loading, showLoadingIcon, textObj]),
view = _React$useMemo.view,
status = _React$useMemo.status;
return /*#__PURE__*/React.createElement("div", _objectSpread({
className: classnames(prefixCls, "".concat(prefixCls, "-").concat(status), className),
ref: ref
}, restProps), view);
});
BizScrollLoadView.displayName = 'BizScrollLoadView';
/**
* @deprecated 即将废弃,请使用 `BizScrollLoadView` 替代。
*/
export var ScrollLoadView = BizScrollLoadView;
export default BizScrollLoadView;