mobile-more
Version:
基于 antd-mobile v5 扩展移动端 UI 组件
60 lines (57 loc) • 2.05 kB
JavaScript
import _extends from "@babel/runtime/helpers/esm/extends";
import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
var _excluded = ["className", "style", "block", "onChange", "children"];
import React from 'react';
import classnames from 'classnames';
import { prefixClass } from "../../config";
import "./index.css";
import ScanCardImage from "./ScanCardImage";
import ScanCardIcon from "./ScanCardIcon";
var prefixCls = "".concat(prefixClass, "-upload");
var BizUpload = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
var className = _ref.className,
style = _ref.style,
block = _ref.block,
onChange = _ref.onChange,
children = _ref.children,
restProps = _objectWithoutProperties(_ref, _excluded);
var inputRef = React.useRef(null);
React.useImperativeHandle(ref, function () {
return inputRef.current;
}, [inputRef]);
var handleClick = function handleClick() {
inputRef.current.value = '';
inputRef.current.click();
};
var handleChange = function handleChange(e) {
onChange === null || onChange === void 0 || onChange(e.target.files);
};
return /*#__PURE__*/React.createElement("span", {
className: classnames(prefixCls, _defineProperty({}, "".concat(prefixCls, "-block"), block), className),
style: style,
role: "button"
}, /*#__PURE__*/React.createElement("input", _extends({
type: "file"
}, restProps, {
onChange: handleChange,
style: {
display: 'none'
},
ref: inputRef
})), /*#__PURE__*/React.createElement("div", {
className: "".concat(prefixCls, "-trigger"),
onClick: handleClick
}, children));
});
BizUpload.displayName = 'BizUpload';
BizUpload.ScanCardImage = ScanCardImage;
BizUpload.ScanCardIcon = ScanCardIcon;
/**
* @deprecated 即将废弃,请使用 `BizUpload` 替代。
*/
export var Upload = BizUpload;
/**
* @deprecated 即将废弃,请使用 `BizUploadProps` 替代。
*/
export default BizUpload;