z-react-ui
Version:
z-react-ui,是一款基于 Dumi,由 React + TypeScript 开发的组件库 🎉。
53 lines (46 loc) • 1.79 kB
JavaScript
;
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _react = _interopRequireWildcard(require("react"));
var _config = require("@/_config");
var _hooks = require("@/_hooks");
// #----------- 上: ts类型定义 ----------- 分割线 ----------- 下: JS代码 -----------
var FileUpload = function FileUpload(_ref) {
var onUploadFile = _ref.onUploadFile;
var prefixCls = (0, _hooks.usePrefixCls)('chat-file-upload');
var inputRef = (0, _react.useRef)();
var handleFileBtn = (0, _react.useCallback)(function (e, path) {
var target = e.target;
target.src = "".concat(_config.chatPrefix, "/").concat(path);
}, []);
var onFileUpload = (0, _react.useCallback)(function (e) {
handleFileBtn(e, 'toolbar_files_down@2x.png');
inputRef.current.click();
}, [handleFileBtn]);
var handleChange = (0, _react.useCallback)(function (e) {
onUploadFile(e);
}, [onUploadFile]);
return /*#__PURE__*/_react.default.createElement("div", {
className: prefixCls
}, /*#__PURE__*/_react.default.createElement("img", {
className: "".concat(prefixCls, "-img"),
onClick: onFileUpload,
onMouseEnter: function onMouseEnter(e) {
return handleFileBtn(e, 'toolbar_files_hover@2x.png');
},
onMouseLeave: function onMouseLeave(e) {
return handleFileBtn(e, 'toolbar_files_normal@2x.png');
},
src: "".concat(_config.chatPrefix, "/toolbar_files_normal@2x.png")
}), /*#__PURE__*/_react.default.createElement("input", {
type: "file",
className: "".concat(prefixCls, "-file"),
ref: inputRef,
onChange: handleChange
}));
};
var _default = FileUpload;
exports.default = _default;