All Projects → Andarist → React Textarea Autosize

Andarist / React Textarea Autosize

Licence: mit
<textarea /> component for React which grows with content

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to React Textarea Autosize

React Router Ga
Google Analytics component for React Router
Stars: ✭ 66 (-95.14%)
Mutual labels:  react-component
Fake Tweet
Tweet React Component
Stars: ✭ 85 (-93.74%)
Mutual labels:  react-component
Re Resizable
📏 A resizable component for React.
Stars: ✭ 1,302 (-4.05%)
Mutual labels:  react-component
React Marquee Slider
The marquee slider of your deepest dreams. Only for React.js ⛺
Stars: ✭ 73 (-94.62%)
Mutual labels:  react-component
Refluent
A chainable & composable alternative React component API.
Stars: ✭ 75 (-94.47%)
Mutual labels:  react-component
Ui Predicate
Finally a Predicate/Rule Editor UI component for the Web 🚀
Stars: ✭ 86 (-93.66%)
Mutual labels:  react-component
React Hover
React hover --- make hover easy http://cht8687.github.io/react-hover/example/
Stars: ✭ 64 (-95.28%)
Mutual labels:  react-component
React Css Component
Injecting CSS via React Components
Stars: ✭ 98 (-92.78%)
Mutual labels:  react-component
Reactjs Popup
React Popup Component - Modals,Tooltips and Menus —  All in one
Stars: ✭ 1,211 (-10.76%)
Mutual labels:  react-component
React Promise
a react.js hook for general promise in typescript
Stars: ✭ 90 (-93.37%)
Mutual labels:  react-component
React Payment Card Component
💳 A modern credit card component for React
Stars: ✭ 74 (-94.55%)
Mutual labels:  react-component
Svg Loaders React
React adaptation of the SVG Loaders library by Sam Herbert
Stars: ✭ 75 (-94.47%)
Mutual labels:  react-component
Babel Plugin Stateful Functional React Components
Stateful functional React components without runtime overhead
Stars: ✭ 86 (-93.66%)
Mutual labels:  react-component
Yandex Map React
Stars: ✭ 67 (-95.06%)
Mutual labels:  react-component
React Responsive Picture
A future-proof responsive image component that supports latest Picture specification
Stars: ✭ 91 (-93.29%)
Mutual labels:  react-component
React Lottie
Render After Effects animations on React based on lottie-web
Stars: ✭ 1,132 (-16.58%)
Mutual labels:  react-component
React Easy Swipe
Easy handler for common swipe operations
Stars: ✭ 85 (-93.74%)
Mutual labels:  react-component
React Native Swipeable Parallax Carousel
React Native Swipeable Parallax Carousel
Stars: ✭ 98 (-92.78%)
Mutual labels:  react-component
React Cassette Player
Simple ReactJS HTML5 audio player component built with SVG icons from The Noun Project.
Stars: ✭ 93 (-93.15%)
Mutual labels:  react-component
Zifi
zifi - Make Stories everywhere using React 😍
Stars: ✭ 87 (-93.59%)
Mutual labels:  react-component

npm version npm

react-textarea-autosize

Drop-in replacement for the textarea component which automatically resizes textarea as content changes. A native React version of the popular jQuery Autosize! Weighs around 1.3KB (minified & gzipped).

This module supports IE9 and above.

import TextareaAutosize from 'react-textarea-autosize';

// If you use CommonJS syntax:
// var TextareaAutosize = require('react-textarea-autosize').default;

React.renderComponent(
  <div>
    <TextareaAutosize />
  </div>,
  document.getElementById('element'),
);

Install

npm install react-textarea-autosize

Demo

https://andarist.github.io/react-textarea-autosize/

Props

Special props:

prop type description
maxRows number Maximum number of rows up to which the textarea can grow
minRows number Minimum number of rows to show for textarea
onHeightChange func Function invoked on textarea height change, with height as first argument. The second function argument is an object containing additional information that might be useful for custom behaviors. Current options include { rowHeight: number }.
cacheMeasurements boolean Reuse previously computed measurements when computing height of textarea. Default: false

Apart from these, the component accepts all props that are accepted by <textarea/>, like style, onChange, value, etc.

FAQ

How to focus

Get a ref to inner textarea:

<TextareaAutosize ref={(tag) => (this.textarea = tag)} />

And then call a focus on that ref:

this.textarea.focus();

To autofocus:

<TextareaAutosize autoFocus />

(all HTML attributes are passed to inner textarea)

How to test it with jest and react-test-renderer if you need ref

Because jest provides polyfills for DOM objects by requiring jsdom and react-test-renderer doesn't provide refs for rendered components out of the box (calling ref callbacks with null), you need to supply a mocked ref in your tests in you need it for your tests. You can do it like this (more can be read here):

const tree = renderer
  .create(<TextareaAutosize />, {
    createNodeMock: () => document.createElement('textarea'),
  })
  .toJSON();
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].