私は同じ問題を抱えていました。しかし今、このコードでは、仕事は私のためにあなたがupdateIndex()関数を呼び出す必要が
リストビューのコード
<ListView
style={styles.container}
dataSource={this.state.dataSource}
renderRow={(data) =>
<View style={{ flex: 1, flexDirection: "column" }}>
<View style={{ flex: 1, flexDirection: "column" }}>
<View style={{ flex: 1, flexDirection: "row", alignItems: "center", justifyContent: "center", marginBottom: 0 }}>
<Text style={{ fontSize: 16, color: "#fff", padding: 5, textAlign: "center", width: 220, paddingLeft: 40, paddingRight: 40, borderStyle: "solid", borderRadius: 100, borderColor: "#fff", borderWidth: 1 }}>
{data.name}
</Text>
</View>
<TouchableHighlight
onPress={() => this.updateIndex(data._id)}>
<View style={{ alignItems: "center", justifyContent: "center", marginBottom: 5 }}>
{this.state.categoryIndex == data._id &&
<Text style={{ color: "#fff" }}>
<IonicIcons name="ios-arrow-up" style={{ fontSize: 20, marginTop: 10, padding: 0 }} />
<Text> Less</Text>
</Text>
}
{this.state.categoryIndex != data._id &&
<Text style={{ color: "#fff" }}>
<IonicIcons name="ios-arrow-down" style={{ fontSize: 20, marginTop: 10, padding: 0 }} />
<Text> More</Text>
</Text>
}
</View>
</TouchableHighlight>
</View>
{this._renderCancel(data)}
</View>
}
です。この関数は、子ビューを開く必要のある状態IDを更新するだけです。
this.state.categoryIndex == data._idはListViewを開き、this.state.categoryIndex!= data._idの場合、子リストビューを閉じます
マイupdateIndex()関数は
updateIndex(index) {
if (this.state.showSubcategory && this.state.categoryIndex == index) {
this.setState({
showSubcategory: !this.state.showSubcategory,
categoryIndex: false
});
} else {
this.setState({
showSubcategory: true,
categoryIndex: index
});
}
}
ように見える。これは私が望んでいたまさにです:https://react.rocks/example/react-expandable-listview それはで使用することができますネイティブの反応?それは反応のためです – Ataomega
あなたは反応ネイティブベクトルアイコンが働いている方が良いかもしれません(リンクエラーのように聞こえます。リンクを完全にアンインストールして、[rnpm](https://github.com)を使ってみましたか?/rnpm/rnpm)をリンクするのですか?)、私はRN 0.29を使用しています。反応ネイティブベクトルアイコンは完全に動作しています。 –
@MichaelHelvey、ええ、私はそれを試しました。私はアイコンのフォントサイズを設定しないと、その作業がアイコンはtabbariosに収まらず、特定のサイズに設定すると、エラーが発生して動作しません。 – Ataomega