textareaの入力文字数によって高さを可変にする

こういうやつ

コード

<textarea></textarea>
<script>
  const textarea = document.querySelector('textarea');
  textarea.addEventListener('input', () => {
    textarea.style.height = null;
    textarea.style.height = `${textarea.scrollHeight}px`;
  });
</script>

改行の数をカウントしてtextareaのrowsに入れたりしたけど, それだと文字の折返しのときに高さが取れなかったのでtextareaのスクロール量を高さに入れるようにした

実際使うときは高さの上限決めた方がいいかも