From 49afbc0955a558a619ed6e329cad67c03f881f0d Mon Sep 17 00:00:00 2001 From: "loujiayu7@gmail.com" Date: Tue, 17 May 2016 21:18:30 +0800 Subject: [PATCH 1/2] fix text going below underline --- src/TextField/EnhancedTextarea.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/TextField/EnhancedTextarea.js b/src/TextField/EnhancedTextarea.js index fe69f409551252..c4d3980f296509 100644 --- a/src/TextField/EnhancedTextarea.js +++ b/src/TextField/EnhancedTextarea.js @@ -1,5 +1,6 @@ import React, {Component, PropTypes} from 'react'; import EventListener from 'react-event-listener'; +import keycode from 'keycode'; const rowsHeight = 24; @@ -120,10 +121,20 @@ class EnhancedTextarea extends Component { } }; + handleKeyDown = (event) => { + const shadow = this.refs.shadow + + if (keycode(event) === 'enter' && + shadow.scrollHeight >= this.props.rowsMax * rowsHeight) { + event.preventDefault() + } + } + render() { const { onChange, // eslint-disable-line no-unused-vars onHeightChange, // eslint-disable-line no-unused-vars + onKeyDown, // eslint-disable-line no-unused-vars rows, // eslint-disable-line no-unused-vars shadowStyle, style, @@ -161,6 +172,7 @@ class EnhancedTextarea extends Component { rows={this.props.rows} style={prepareStyles(textareaStyles)} onChange={this.handleChange} + onKeyDown={this.handleKeyDown} /> ); From 0d56527cc4c3329946571c110ad56bf853a7547f Mon Sep 17 00:00:00 2001 From: "loujiayu7@gmail.com" Date: Tue, 17 May 2016 22:49:19 +0800 Subject: [PATCH 2/2] lint issue --- src/TextField/EnhancedTextarea.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/TextField/EnhancedTextarea.js b/src/TextField/EnhancedTextarea.js index c4d3980f296509..d4f3420053076d 100644 --- a/src/TextField/EnhancedTextarea.js +++ b/src/TextField/EnhancedTextarea.js @@ -36,6 +36,7 @@ class EnhancedTextarea extends Component { disabled: PropTypes.bool, onChange: PropTypes.func, onHeightChange: PropTypes.func, + onKeyDown: PropTypes.func, rows: PropTypes.number, rowsMax: PropTypes.number, shadowStyle: PropTypes.object, @@ -122,11 +123,11 @@ class EnhancedTextarea extends Component { }; handleKeyDown = (event) => { - const shadow = this.refs.shadow + const shadow = this.refs.shadow; if (keycode(event) === 'enter' && shadow.scrollHeight >= this.props.rowsMax * rowsHeight) { - event.preventDefault() + event.preventDefault(); } }