由于某种原因,向 TextInput 添加值会更改字体粗细
Posted
技术标签:
【中文标题】由于某种原因,向 TextInput 添加值会更改字体粗细【英文标题】:Adding a value to a TextInput changes the font-weight for some reason 【发布时间】:2021-11-28 05:54:21 【问题描述】:我试图在用户输入时格式化日期,但是当我添加值字段 (value=this.state.dob) 时,样式会更改为更粗的字体粗细(有时会更改为右侧字体重量中间打字)。它似乎真的来自我尝试将它添加到此页面的其他输入的值字段,它做同样的事情。
<TextInput
placeholder="JJ/MM/AAAA"
keyboardType='number-pad'
onChangeText=(text) => this._onChangeDate(text)
name="dob"
style=styles.textBox
value=this.state.dob //Just removing this work but I can't liveformat the date anymore
maxLength=10
/>
_onChangeDate = (value) =>
this.setState(
dob: this.liveFormatDate(value),
)
liveFormatDate 返回一个字符串,在需要时添加斜杠丢弃字母等
How it looks right now
How it should look like (when there are 6 characters it looks like this) 我没有修改两个截图之间的代码
【问题讨论】:
嗯,我使用与用户键入相同的模式来格式化电话号码,但没有看到相同的问题。你是如何创造你的风格的?你在用StyleSheet.create
吗?
您好我已经通过在样式中添加一个 font-weight 属性解决了这个问题(如果我没记错的话,font-weight:"normal" 这是默认值。)所以行为是真的很奇怪。
太棒了!!很高兴你明白了:)
【参考方案1】:
解决方案是在样式中添加权重属性 (font-weight: "normal"
)。虽然我不知道为什么字体粗细一直在变化,但我不知道是什么原因造成的。
【讨论】:
以上是关于由于某种原因,向 TextInput 添加值会更改字体粗细的主要内容,如果未能解决你的问题,请参考以下文章
React Native TextInput 不允许输入/文本更改