我有一个用React-Redux-Form构建的表单,需要实现并显示字符数以将输入限制为200.我已经为它实现了验证,但是想要在用户输入时显示字符数。 / p>
这是我的控制权:
<div className="input-group">
<label>Step 2: Description of Goods *</label>
<Control.textarea
id="descriptionOfGoods"
model=".descriptionOfGoods"
name="descriptionOfGoods"
autoComplete="off"
className="form-control"
controlProps={{onKeyPress:_preventCarriageReturn}}
mapProps={{..._mapFieldClass}}
validators={{isRequired, remoteError, maxLength: (val) => maxLength(val, 200)}}
onChange={(e) => this.removeApiError(e)}
/>
<span className="tick-valid"><Icon yicon="Validation_Tick"/></span>
<span className="cross-error"><Icon yicon="X"/></span>
<Errors
id="descriptionOfGoodsErrors"
className="help-block"
model=".descriptionOfGoods"
show={{touched: true, focus: false}}
messages={{
isRequired: 'Description of goods is required.',
remoteError: validationError.descriptionOfGoods,
maxLength: 'Max characters allowed is 200'
}}
/>
</div>
有什么想法吗?
答案 0 :(得分:-1)
对于文本区域,您需要收听三个事件。一个用于onKeyUp,一个用于onPaste,一个用于onCut。然后,无论何时触发其中一个事件,您都可以获取textarea中的当前文本以确定当前长度,并使用该值更新可显示剩余字符数的范围。