我目前对(我认为)LayoutAnimation 有一个烦人的问题。
我的问题如下,我有一个应用程序,可以在其中搜索整个 FlatList,使用搜索按钮打开面板并将焦点放在打开键盘的 TextInput 上。当我出于某种原因想要关闭它时,如果我使用手机的后退按钮手动关闭它,就会出现问题 它关闭并且通过点击列表关闭它,一切都很好,但是当我关闭搜索时问题就来了(因此 TextInput 已从屏幕中删除,即使没有调用,键盘也会自动关闭,.blur()
但我也尝试过并遇到了同样的问题。
现在这里是一些代码块:
_onPressSearch() {
LayoutAnimation.easeInEaseOut();
this.setState({
showSearch: !this.state.showSearch
}, function () {
( this.state.showSearch ?
this.refs.searchInput.focus() :
this.setState({
searchString: "",
filtered: null
}) )
});
}
var searchBar = (this.state.showSearch ?
<View>
<TextInput
style={styles.searchInput}
ref='searchInput'
onChangeText={this._onChangeText.bind(this)}
value={this.state.searchString}
underlineColorAndroid={Colors.search}
maxLength={25}
autoCapitalize='none'
autoCorrect={false}
placeholder={I18n.t('search')}
placeholderTextColor={Colors.search}
clearButtonMode='never' />
</View> : <View />);
<List style={{ flex: 1 }}>
<FlatList
data={(this.state.filtered === null ? this.state.listings : this.state.filtered)}
keyExtractor={this._keyExtractor}
extraData={this.state}
renderItem={this._renderItem} />
</List>
我在用 :
"react": "16.0.0-alpha.12",
"react-native": "0.52.0",
我从 0.49.4 更新到 0.52.0 希望它能解决问题,但似乎没有
有关信息:在 IOS 中没有问题,我确实在 android 上激活了动画以获取动画。此外,如果我删除动画LayoutAnimation.easeInEaseOut();
,除了我当然没有动画之外,一切正常。
非常感谢