🚀

簡単に可変式のテキストエリアを作る【React】

2021/08/22に公開

お問い合わせフォームを作成する際に、可変式のテキストエリアを作ったので、残しておきます。
※内容薄いですが

export const Contact = memo(() => {
  ...省略...
  const textArea = document.querySelector('textarea');
  const textRowCount = textArea ? textArea.value.split('\n').length : 0;
  const rows = textRowCount + 1;

  return (
    <>
      <label htmlFor="contents">
	お問合せ内容<span className={style.remarks}></span>
      </label>
      <textarea
        name="contents"
	id="contents"
	rows={rows}
	value={contacts.contents}
	onChange={handleChange}
      />	
   </>
  )
});

定数のrowsで一行余裕をもたせています。
あとはstyleを調整すると良いと思います。

以上です。

Discussion