Skip to content

Commit 9b85c5d

Browse files
author
Kim Seonghyeon
authored
Add onPaste prop (#255)
1 parent 80373ad commit 9b85c5d

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

Diff for: src/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -630,7 +630,7 @@ export default class InputNumber extends React.Component {
630630
upHandler, downHandler, className, max, min,
631631
style, title, onMouseEnter, onMouseLeave, onMouseOver, onMouseOut,
632632
required, onClick, tabIndex, type, placeholder, id, inputMode, pattern,
633-
step, maxLength, autoFocus, name,
633+
step, maxLength, autoFocus, name, onPaste,
634634
...rest
635635
} = this.props;
636636
const { value, focused } = this.state;
@@ -744,6 +744,7 @@ export default class InputNumber extends React.Component {
744744
required={required}
745745
type={type}
746746
placeholder={placeholder}
747+
onPaste={onPaste}
747748
onClick={onClick}
748749
onMouseUp={this.onMouseUp}
749750
className={`${prefixCls}-input`}

Diff for: tests/index.js

+22
Original file line numberDiff line numberDiff line change
@@ -1812,6 +1812,28 @@ describe('InputNumber', () => {
18121812
});
18131813
});
18141814

1815+
describe('onPaste props', () => {
1816+
it ('passes onPaste event handler', () => {
1817+
const onPaste = sinon.spy();
1818+
const Demo = createReactClass({
1819+
render() {
1820+
return (
1821+
<InputNumber
1822+
value={1}
1823+
ref="inputNum"
1824+
onPaste={onPaste}
1825+
/>
1826+
);
1827+
},
1828+
});
1829+
example = ReactDOM.render(<Demo />, container);
1830+
inputNumber = example.refs.inputNum;
1831+
inputElement = ReactDOM.findDOMNode(inputNumber.input);
1832+
Simulate.paste(inputElement);
1833+
expect(onPaste.called).to.be(true);
1834+
});
1835+
});
1836+
18151837
describe('aria and data props', () => {
18161838
it('passes data-* attributes', () => {
18171839
const Demo = createReactClass({

0 commit comments

Comments
 (0)