2016-01-08 79 views
0

我正在添加简单的日期掩码到我的react-native应用程序。它的工作原理,它似乎在https://rnplay.org/apps/3twbCw的rnplay,它不适用于我的应用程序。正在调试react-native TextInput行为

的屏蔽功能是:

dateFormat(text) { 
    if (text.match(/^\d{2}$/) !== null) { 
    text += '/'; 
    } else if (text.match(/^\d{2}\/\d{2}$/) !== null) { 
    text += '/'; 
    } 
    this.setState({birthdate: text}); 
} 

我申请/调用这个函数为:

<TextInput 
    key='birthdateTxt' 
    style={styles.formField} 
    returnKeyType='done' 
    ref={(ref) => this.birthdateInput = ref} 
    onFocus={() => this.inputFocused(this.birthdateInput)} 
    value={this.state.birthdate} 
    onChangeText={(text) => this.dateFormat(text)} 
    onSubmitEditing={() => this.register()} 
/> 

的函数被调用。这从调试输出中很清楚。但是this.setState({birthdate:text})不会改变TextInput的值。 rnplay示例似乎在做同样的事情,但它不表现出同样的问题。

我该检查什么?

+0

此问题发生在应用程序构建于0.17上,并且rnplay在0.13rc上运行。这是迄今为止我注意到的唯一可能的原因。 –

回答

0

TextInput在0.17中明显部分损坏。

相关问题