React에서 값의 너비에 대한 입력 자동 크기 조정

Cabralpinto

내용에 맞게 너비가 조정되는 입력을 갖고 싶습니다.

비슷한 질문에 대한이 답변 을 구현하려고 하지만 React를 사용합니다.

import React, { useState } from 'react';

export default () => {
  const [content, setContent] = useState('');
  const [width, setWidth] = useState(0);

  const changeHandler = evt => {
    setContent(evt.target.value);
  };

  return (
    <wrapper>
      <span id="hide">{content}</span>
      <input type="text" autoFocus style={{ width }} onChange={changeHandler} />
    </wrapper>
  );
};

문제는 입력 너비를 변경하기 위해 스팬 너비를 쿼리하는 방법을 모르겠다는 것입니다 (사용 setWidth).

이것을 어떻게 달성 할 수 있습니까?

Cabralpinto

많은 노력 끝에 해결책을 찾았습니다!

import React, { useState, useRef, useEffect } from 'react';

export default () => {
  const [content, setContent] = useState('');
  const [width, setWidth] = useState(0);
  const span = useRef();

  useEffect(() => {
    setWidth(span.current.offsetWidth);
  }, [content]);

  const changeHandler = evt => {
    setContent(evt.target.value);
  };

  return (
    <wrapper>
      <span id="hide" ref={span}>{content}</span>
      <input type="text" style={{ width }} autoFocus onChange={changeHandler} />
    </wrapper>
  );
};

#hide스팬에 대한 참조를 얻으려면 useRef. 그런 다음 변경 될 때마다 호출되는에서 width정의 된 함수를 통해 상태 변수를 업데이트 할 수 있습니다 .useEffectcontent

나는 또한 for and display: none의 CSS에서 를 전환해야 했습니다. 그렇지 않으면 항상 0이됩니다.#hideposition: absoluteopacity: 0targetRef.current.offsetWidth

다음 은 작동하는 데모 입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

CNN에 대한 입력 크기 조정

분류에서Dev

선택한 OPTION의 너비에 따라 SELECT 요소 자동 크기 조정

분류에서Dev

50 % 너비의 입력 요소 2 개를 행에 배치하고 상자 크기 조정 이해

분류에서Dev

입력 각도의 너비를 동적으로 크기 조정

분류에서Dev

사용자 정의 논리를 사용하여 용지 입력 컨테이너에 대한 기본값 설정

분류에서Dev

Windows 10에서 텍스트, 앱 및 기타 항목 크기 조정에 대한 사용자 지정 크기 비율을 입력하는 방법

분류에서Dev

<iframe>의 너비와 높이에 따라 콘텐츠 크기 자동 조정

분류에서Dev

선택 입력에 대한 CakePHP 사용자 정의 값

분류에서Dev

창 크기 조정에 대한 CSS 바닥 글의 동작

분류에서Dev

크기 조정이 가능한 모든 자식 요소에 플렉스 컨테이너의 최대 너비 적용

분류에서Dev

입력 값 길이에 해당하는 입력 너비 조정

분류에서Dev

UITableViewCellContentView 너비는 자동 크기 조정 마스크에 따라 항상 0입니다 (iOS 7에만 해당).

분류에서Dev

Swift / Xcode에서 그래픽 디자이너의 의도와 일치하도록 버튼 자동 크기 조정에 대한 좋은 접근 방식?

분류에서Dev

DataGridView에서 자동 크기 조정 된 열 너비를 패딩으로 덜 관대하게 만들 수있는 방법은 무엇입니까?

분류에서Dev

문자 크기에 따라 입력 필드 너비 기준 지정

분류에서Dev

matplotlib에서 막대 그래프의 y 축 크기를 자동 조정하는 방법은 무엇입니까?

분류에서Dev

단락 너비에 자동으로 맞도록 div 너비 크기 조정

분류에서Dev

Shiny에서 동일한 값에 대한 두 개의 입력

분류에서Dev

React TypeScript : useRef로 입력에 대한 초기 값 설정

분류에서Dev

입력 상자 너비와 높이를 외부 div의 너비와 높이에 대해 100 %로 만들기

분류에서Dev

PHP에서 선택 입력에 대한 기본값 설정

분류에서Dev

powershell azure 클래식 VM에 대한 자동 크기 조정 설정 찾기

분류에서Dev

Android에서 동적으로 조각보기의 너비 설정

분류에서Dev

빈 입력에 대해 R의 Max, Min에 대한 사용자 지정 반환 값을 지정하는 방법 (기본값 + Inf 및 -Inf 대신)?

분류에서Dev

최대 너비 및 생략 텍스트를 사용하여 내용에 맞게 CSS div 자동 크기 조정

분류에서Dev

Softlayer에서 자동 크기 조정을위한 자산 추가

분류에서Dev

서로 다른 탭 패널에서 동일한 값에 대해 두 개의 RShiny 입력 값 설정

분류에서Dev

안녕하세요, 양식 입력에서 사용자가 높이와 너비를 입력하고 출력으로 cm 단위의 사진 크기를 조정할 수 있습니까?

분류에서Dev

Chrome에서 "비밀번호"입력 필드에 대한 자동 완성 끄기

Related 관련 기사

  1. 1

    CNN에 대한 입력 크기 조정

  2. 2

    선택한 OPTION의 너비에 따라 SELECT 요소 자동 크기 조정

  3. 3

    50 % 너비의 입력 요소 2 개를 행에 배치하고 상자 크기 조정 이해

  4. 4

    입력 각도의 너비를 동적으로 크기 조정

  5. 5

    사용자 정의 논리를 사용하여 용지 입력 컨테이너에 대한 기본값 설정

  6. 6

    Windows 10에서 텍스트, 앱 및 기타 항목 크기 조정에 대한 사용자 지정 크기 비율을 입력하는 방법

  7. 7

    <iframe>의 너비와 높이에 따라 콘텐츠 크기 자동 조정

  8. 8

    선택 입력에 대한 CakePHP 사용자 정의 값

  9. 9

    창 크기 조정에 대한 CSS 바닥 글의 동작

  10. 10

    크기 조정이 가능한 모든 자식 요소에 플렉스 컨테이너의 최대 너비 적용

  11. 11

    입력 값 길이에 해당하는 입력 너비 조정

  12. 12

    UITableViewCellContentView 너비는 자동 크기 조정 마스크에 따라 항상 0입니다 (iOS 7에만 해당).

  13. 13

    Swift / Xcode에서 그래픽 디자이너의 의도와 일치하도록 버튼 자동 크기 조정에 대한 좋은 접근 방식?

  14. 14

    DataGridView에서 자동 크기 조정 된 열 너비를 패딩으로 덜 관대하게 만들 수있는 방법은 무엇입니까?

  15. 15

    문자 크기에 따라 입력 필드 너비 기준 지정

  16. 16

    matplotlib에서 막대 그래프의 y 축 크기를 자동 조정하는 방법은 무엇입니까?

  17. 17

    단락 너비에 자동으로 맞도록 div 너비 크기 조정

  18. 18

    Shiny에서 동일한 값에 대한 두 개의 입력

  19. 19

    React TypeScript : useRef로 입력에 대한 초기 값 설정

  20. 20

    입력 상자 너비와 높이를 외부 div의 너비와 높이에 대해 100 %로 만들기

  21. 21

    PHP에서 선택 입력에 대한 기본값 설정

  22. 22

    powershell azure 클래식 VM에 대한 자동 크기 조정 설정 찾기

  23. 23

    Android에서 동적으로 조각보기의 너비 설정

  24. 24

    빈 입력에 대해 R의 Max, Min에 대한 사용자 지정 반환 값을 지정하는 방법 (기본값 + Inf 및 -Inf 대신)?

  25. 25

    최대 너비 및 생략 텍스트를 사용하여 내용에 맞게 CSS div 자동 크기 조정

  26. 26

    Softlayer에서 자동 크기 조정을위한 자산 추가

  27. 27

    서로 다른 탭 패널에서 동일한 값에 대해 두 개의 RShiny 입력 값 설정

  28. 28

    안녕하세요, 양식 입력에서 사용자가 높이와 너비를 입력하고 출력으로 cm 단위의 사진 크기를 조정할 수 있습니까?

  29. 29

    Chrome에서 "비밀번호"입력 필드에 대한 자동 완성 끄기

뜨겁다태그

보관