【问题标题】:<TextInput keyboardType="numeric"/> is not working in react native<TextInput keyboardType="numeric"/> 在本机反应中不起作用
【发布时间】:2015-08-17 05:54:09
【问题描述】:

这是我的实例

var LoginPopup=React.createClass({
   render:function(){
            return(
               <View>
                   <TextInput placeholder="number" keyboardType="numeric"/>
 <TextInput placeholder="url" keyboardType="url"/>

               </View>
            )

  }
})

在这个组件中,任何类型的键盘类型都不起作用(比如 号码,网址,电子邮件地址,数字键盘,电话键盘等,)

【问题讨论】:

  • 不工作是什么意思?组件不可见吗?还是键盘不是数字?
  • 我在 android 中面临同样的问题。 @Chirag - 我认为'vasavi' 指的是一个问题 - keyboardType="numeric" 打开也有字符的键盘。理想情况下,它应该只打开一个带有数字的键盘。我们在android中有这样的键盘。

标签: ios reactjs react-native


【解决方案1】:
<TextInput value={this.state.mobileNumber}
     returnKeyType={'next'}
     keyboardType={'phone-pad'}
     onChangeText={(mobileNumber) => this.setState({mobileNumber})}
                                       style={[styles.input]}                                      
  />

【讨论】:

  • 当键盘类型为数字或电话键盘时,它不会在 ios 中显示“下一步”键
  • 在 ios 上你必须使用 'done' returnKeyType: Platform.OS === 'ios' ? 'done' : 'next',
  • 在android中不显示点,逗号
【解决方案2】:

keyboardType="numeric" 确实适用于 Android 和 iOS 上的 react-native 0.46.3。
您确定使用 字母 占位符(“数字”)不是问题的原因吗? 这是我的相关代码:

<TextInput
    editable={!this.state.user.logged}
    onChangeText={(mobileNumber) => this.setState({mobileNumber})}
    placeholder={I18n.t('MobileNumber')}
    ref='mobileNumber'
    returnKeyType={(Platform.OS === 'ios') ? 'done' : 'next'}
    placeholder={I18n.t('MobileNumber')}
    style={styles.inputText}
    underlineColorAndroid='rgba(0,0,0,0)'
    value={this.state.mobileNumber}
    keyboardType="numeric"
/>

【讨论】:

  • 呃,为什么占位符会以任何方式影响键盘?
  • 我只是假设一个字符串值可以改变 TextInput 的类型...
【解决方案3】:

它对我有用 键盘类型='数字'

【讨论】:

    【解决方案4】:

    也许它会起作用:

    keyboardType={"numeric"}
    

    【讨论】:

      猜你喜欢
      • 2018-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-17
      • 2021-05-15
      • 2016-10-24
      • 2021-12-08
      相关资源
      最近更新 更多