我正在使用 FlatList 创建一个可选列表,该列表突出显示/勾选每个选定的项目。
在 index.js 上,我以这种方式使用组件:
<SelectableList
data={[{key: 'a'}, {key: 'b'}]}
renderItem={(item) => <Text>{item.key}</Text>}
/>
在 selectable-list.js 上,我将列表定义为:
renderItem = (item) => {
return (
<View>
<Text>aaa</Text>
{this.props.renderItem(item)}
<Text>xxx</Text>
</View>
);
}
render() {
return (
<FlatList
data={this.state.data}
renderItem={this.renderItem}
/>
);
}
这是我得到的输出:
啊啊啊啊
xxx
啊啊啊啊
xxx
我希望它是:
啊啊啊啊
一种
xxx
啊啊啊啊
乙
xxx
这条线不工作:
{this.props.renderItem(item)}
FlatList renderItem的参数采用以下形式:
(info: {
item: ItemT,
index: number,
...
})
意思是,你的渲染函数应该是这样的:
renderItem = ({item}) => {
不是
renderItem = (item) => {
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句