UNPKG

linkmore-design

Version:

🌈 🚀lm组件库。🚀

68 lines (67 loc) 2.36 kB
import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator"; import _regeneratorRuntime from "@babel/runtime/regenerator"; import React, { useEffect, useRef } from 'react'; import Button from "../../button"; import IconFont from "../../icon-font"; import Input from "../../input"; import InputNumber from "../../input-number"; // 数字输入框触发blur使用内置校验 var InputNumberRender = function InputNumberRender(props) { var _props$value = props.value, value = _props$value === void 0 ? '' : _props$value, onChange = props.onChange; var inputRef = useRef(null); var handleSearch = /*#__PURE__*/function () { var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() { var val; return _regeneratorRuntime.wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return inputRef.current.blur(); case 2: val = inputRef.current.value; onChange === null || onChange === void 0 ? void 0 : onChange(val); case 4: case "end": return _context.stop(); } }, _callee); })); return function handleSearch() { return _ref.apply(this, arguments); }; }(); var handleClick = function handleClick() { var val = inputRef.current.value; onChange === null || onChange === void 0 ? void 0 : onChange(val); }; useEffect(function () { var _inputRef$current; (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus({ cursor: 'all' }); }, []); return /*#__PURE__*/React.createElement("div", { className: "filter_dropdown" }, /*#__PURE__*/React.createElement("div", { className: "filter_header" }, /*#__PURE__*/React.createElement(Input.Group, { compact: true }, /*#__PURE__*/React.createElement(InputNumber, { ref: inputRef, defaultValue: value, onPressEnter: handleSearch, size: "middle", style: { width: 'calc(100% - 32px)' } }), /*#__PURE__*/React.createElement(Button, { icon: /*#__PURE__*/React.createElement(IconFont, { type: "icon-sousuo" }), size: "middle", onClick: handleClick })))); }; export default InputNumberRender;