linkmore-design
Version:
🌈 🚀lm组件库。🚀
50 lines (49 loc) • 1.72 kB
JavaScript
import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
import React, { useEffect, useRef, useState } 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 value = props.value,
onChange = props.onChange;
var inputRef = useRef(null);
var _useState = useState(value),
_useState2 = _slicedToArray(_useState, 2),
number = _useState2[0],
setNumber = _useState2[1];
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: number,
onPressEnter: function onPressEnter() {
return onChange === null || onChange === void 0 ? void 0 : onChange(number);
},
size: "middle",
style: {
width: 'calc(100% - 32px)'
},
onChange: setNumber
}), /*#__PURE__*/React.createElement(Button, {
icon: /*#__PURE__*/React.createElement(IconFont, {
type: "icon-sousuo"
}),
size: "middle",
onClick: function onClick() {
return onChange === null || onChange === void 0 ? void 0 : onChange(number);
}
}))));
};
export default InputNumberRender;