javascript - 从表单内的字符串两端删除空格 - React
问题描述
我有一个接收名字和姓氏的简单表单,我需要删除字符串开头和结尾的空格。我可以用.trim()
方法做到这一点,但是因为是一个表格,它不允许我写一个有两个单词的名字,比如安娜玛丽亚,因为它不允许我在一个单词的末尾按空格键. 如何从字符串的两侧删除空格,但仍然让我按空格并写多个单词?
这是组件:
export default function ScheduleInput(
{ label, required, onChange, value, ...extraProps },
) {
return (
<div className="item_container">
{label}:
{required &&
<span style={{ color: 'red' }}> *</span>
}
<br />
<input
type="text"
onChange={onChange}
value={value.trim()}
{...extraProps}
/>
</div>
);
}
解决方案
而不是 trimming onChange
,而是在onBlur
回调中执行此操作:
<input onBlur={this.props.formatInput} {...} />
这可能看起来像这样:
formatInput = (event) => {
const attribute = event.target.getAttribute('name')
this.setState({ [attribute]: event.target.value.trim() })
}
推荐阅读
- javascript - 谷歌函数返回未定义
- verilog - 强制模块的内部信号 - Verilog
- google-cloud-platform - Dialogflow:如何识别特定字符串?
- sql - 当数据为数字时,VBA SQL 查询不会将值始终作为数字拉取
- python - 如何根据来自另一个查询集的字段对过滤 django 查询集?
- r - 无法使用 Rvest 包从 RSS 提要中提取链接
- javascript - 深度嵌套的数组和对象
- java - 我们如何替换用户输入中的字符?
- python - 在 AWS Lambda 上运行 Selenium
- scala - 在 Spark 上使用 foreachPartition 发出 HTTP 发布请求