我正在创建一个 SPFX 表单(react/typescript)。我正在使用处理程序函数:
public handleChange = (evt: any) => {
const {value} = (evt.target as any);
this.setState({
...this.state,
[evt.target.name]: value
});
}
处理多个文本字段。
我现在想要做的是让这个处理程序满足字符计数文本字段。(我知道我可以使用标签!)这些文本字段计算每个文本字段中输入的字符数。我不知道如何为此编写代码。以下是我尝试过的:
处理函数:
public handleChange = (evt: any) => {
const {value} = (evt.target as any);
this.setState({
...this.state,
[evt.target.name]: value
}, () => {
let wordCount = this.state.SOMETHING.toString().length; //This is wrong!
this.setState({
...this.state,
[evt.target.name]: wordCount
});
});
}
但正如你所看到的,我不知道该放什么。正如您在wordCount
变量中看到的那样,我正在计算文本字段状态的字符数,但这显然不起作用,因为我需要它来满足通过处理程序函数运行的所有文本字段。您还可以看到,我正在尝试使用 将其设置为状态[evt.target.name]: wordCount
,我认为这可能更接近正确。但不确定。
如果有帮助,这里有 2 个文本字段,一个是用户输入文本字段,另一个(在它下方)是字符计数器:
<td><TextField
name="EssCrit1"
value={this.state.EssCrit1}
onChange={this.handleChange}
multiline rows={2}
/>
</td>
<td ><TextField
name="EssCritChars1"
value={this.state.EssCritChars1}
disabled={true}
/>
</td>
正如你所看到的,字符计数器有它自己的状态,但如上所述,我如何获得处理函数来满足这一点以及用户输入文本字段的 onChange 事件?
任何帮助都会像往常一样很棒。
C