如何获得字符数限制,包括默认名称-Reactjs

Posted

技术标签:

【中文标题】如何获得字符数限制,包括默认名称-Reactjs【英文标题】:How to get character count limitation including default name-Reactjs 【发布时间】:2018-11-18 20:21:47 【问题描述】:

我正在尝试获取输入框的字符限制,但输入字段有默认值。

如果字符限制超过文本必须出现在 0 限制(不弹出)

如果我使用下面的代码,它不能满足我的要求(比如默认值已经存在)。

我可以知道如何包含默认值并设置消息,如果它来到 0

class Company extends React.Component 
state = 
      Title: this.props.selectedTable.Title,
      chars_left: 50,
      max_char:50
    

   handleCharacterCount= (event) => 
    const charCount = event.target.value.length;
    const maxChar = this.state.max_char;
    const charLength = maxChar - charCount;
    this.setState( chars_left: charLength );
    //this.setState(sTitle: e.target.value);
   
   render() 
    return (
     <div>
      <textArea
        type="text"
        maxLength="50"
        required
        onChange=this.handleCharacterCount
        value=this.state.Title/>
      />
      <p>this.state.chars_left</p>
    </div>
  )
 

【问题讨论】:

如果是0,你想在哪里设置消息? 下到输入框 onChange 只会在您单击文本区域时触发。如果您想立即更新,请使用onInput 您的意思是代码是编写的,而不是在更改时使用 onInput 不,只是提供改进。 【参考方案1】:

你可以试试这个

state = 
  Title: this.props.selectedTable.Title,
  chars_left: 50 - this.props.selectedTable.Title.length,
  max_char:50




handleCharacterCount= (event) => 
const charCount = event.target.value.length;
const maxChar = this.state.max_char;
const charLength = maxChar - charCount;
this.setState( chars_left: charLength,Title: event.target.value )



render() 
return (
 <div>
  <textArea
    type="text"
    maxLength="50"
    required
    onChange=this.handleCharacterCount
    value=this.state.Title/>
  />
  
    !this.state.chars_left &&
      <p>text has to appear at 0 limit</p>
  
  <p>this.state.chars_left</p>
</div>)

【讨论】:

确定让我检查 但我还需要检查默认值字符 不明白。请解释。你也想计算默认值字符吗? 我的意思是,我有默认值出现在文本框中,这也算 如果最多有 50 个字符,我的默认名称已经存在-----如果默认名称是 'XYZ',那么我的计数应该是 47

以上是关于如何获得字符数限制,包括默认名称-Reactjs的主要内容,如果未能解决你的问题,请参考以下文章

限制字符串中的字符数,并截断其余字符

使用 Django 模板过滤器限制字符数

css 如何通过行或字符数限制字符数限制?

c ++如何获得系统所有窗口名称 包括隐藏窗口

如何限制字符数,同时只允许 TextField 中的字符子集?

如何限制文本框中允许的字符数?