有没有办法更改ListView中每第二行的背景颜色?
我认为应该可以使用if语句来识别它是偶数行还是奇数行并根据它选择样式。但是,似乎无法在React-Native中使用它。
我的renderRow函数如下所示:
renderRow={(rowData) => {
return (
<TouchableHighlight
onPress={() => this.props.onSelectNote(rowData)}
style={styles.rowStyle}
underlayColor="#9E7CE3"
>
<Text style={styles.rowText}>{rowData.title}</Text>
</TouchableHighlight> )
}
}
截至目前,所有行都将根据rowStyle设置样式。如何为不同的行设置不同的样式?
答案 0 :(得分:3)
您可以将ID传递给rowData
,以了解您渲染的行是偶数还是奇数,然后对所有偶数/奇数行使用自定义样式。
类似的东西:
renderRow={(rowData, sectionID, rowID, highlightRow) => {
let evenRow = rowData.id % 2 == 0;
return (
<TouchableHighlight
onPress={() => this.props.onSelectNote(rowData)}
style={[styles.rowStyle, evenRow && styles.evenRowStyle}
underlayColor="#9E7CE3"
>
<Text style={styles.rowText}>{rowData.title}</Text>
</TouchableHighlight>
);
}
}