TextArea创建太多空间。如何使其局限于物体的大小?

时间:2019-03-25 14:36:15

标签: javascript reactjs

我有一个这样的文本区域:

<Form.TextArea fluid label='ADI' value = {cmsObj.ADI} rows={rows} cols="10"  />

它正在通过我的函数计算尺寸:

 calculateRows(text){
    if(!text)
        return 1;

    return  Math.ceil(text.length/10);
  }

此函数创建了足够的空间,但不幸的是,它分配了太多的空间。文本结束后有很多空白。知道什么功能应该是创建足够的空间以获取对象的所有文本(但末尾没有空格)吗?

1 个答案:

答案 0 :(得分:0)

您可以使用scrollHeight值来确定文本区域height的新onInput。 您可能正在寻找这样的东西:  http://jsfiddle.net/ltsOver9000/sptmfw34/

class TextArea extends React.Component {
  constructor(props) {
    super(props)
    this.state = {height:'100px'};
  }

  render() {
    return (
        <div>
            <textarea 
            style={{height: this.state.height}} 
            onInput={e=>this.setState({height: `${e.target.scrollHeight||0}px`})}/>
        </div>
      );
  }
}