首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TextArea创造了太多的空间。如何将其限制在对象的大小?

TextArea创造了太多的空间。如何将其限制在对象的大小?
EN

Stack Overflow用户
提问于 2019-03-25 22:36:15
回答 1查看 32关注 0票数 1

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

代码语言:javascript
复制
<Form.TextArea fluid label='ADI' value = {cmsObj.ADI} rows={rows} cols="10"  />

它使用我的函数计算大小:

代码语言:javascript
复制
 calculateRows(text){
    if(!text)
        return 1;

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

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

EN

回答 1

Stack Overflow用户

发布于 2019-03-25 23:50:15

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

代码语言:javascript
复制
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>
      );
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55340240

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档