mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-25 00:08:27 +08:00
20 lines
562 B
TypeScript
20 lines
562 B
TypeScript
|
import React from 'react';
|
||
|
import { findDOMNode } from 'react-dom';
|
||
|
|
||
|
export default class InputElement extends React.Component<any, any> {
|
||
|
private ele: HTMLInputElement;
|
||
|
|
||
|
focus = () => {
|
||
|
this.ele.focus ? this.ele.focus() : (findDOMNode(this.ele) as HTMLInputElement).focus();
|
||
|
}
|
||
|
blur = () => {
|
||
|
this.ele.blur ? this.ele.blur() : (findDOMNode(this.ele) as HTMLInputElement).blur();
|
||
|
}
|
||
|
render() {
|
||
|
return React.cloneElement(this.props.children, {
|
||
|
...this.props,
|
||
|
ref: ele => this.ele = (ele as HTMLInputElement),
|
||
|
}, null);
|
||
|
}
|
||
|
}
|