私は現在、(私が思うに) 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();
、もちろんアニメーションがないことを除いてすべてが機能します。
どうもありがとう