第一种
首先,使用原生的。Input组件中,有 <Input prefix="¥" suffix="RMB" /> 可以实现,前缀与后缀。
效果如图,但是,这种原生的会恒左对齐,且自带加粗样式。
如果不想要这种,还有第二种
第二种
在渲染时,加上后缀,在改变时去除掉后缀。
重点在于:
value={this.state.value+'元'}
value = value.replace(/元/g, '')
一个显示是加上后缀,一个改变的去掉后缀。
必要也可以改变时使用正则去过滤掉。
<Input
value={this.state.value+'元'}
onChange={(e) => {
let value = e.target.value;
value = value.replace(/元/g, '');// 替换掉所有的元字, this.setState({value})
}}
/>
效果图