React 如何onChange事件中触发CSS样式

React 如何onChange事件中触发CSS样式

问题描述

有没有办法在React中随着我们输入而改变输入框宽度的样式?

我的初始输入框的宽度是1ch。我希望当我输入/聚焦时,随着字符的增长/缩小,输入框的宽度也能相应增加/减少,这样百分比符号将始终保持在尾部。

我的代码中用于样式的onChange事件是以下这一行:

e.target.style.width = e.target.value.length + 'ch'

但似乎根本不起作用。如何触发这个输入框的宽度?

React 如何onChange事件中触发CSS样式

解决方案

在React中,你可以像这个例子组件一样在输入时改变输入框的宽度样式。

import React, { useState } from 'react';

const InputComponent = () => {
  const [inputValue, setInputValue] = useState('');

  const handleChange = (e) => {
    setInputValue(e.target.value);
  };

  return (
    <div>
      <input
        type="text"
        value={inputValue}
        onChange={handleChange}
        style={{ width: `${inputValue.length}ch` }}
      />
    </div>
  );
};

export default InputComponent;

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程