【发布时间】:2017-03-24 15:54:17
【问题描述】:
我创建了一个包含可选行的列表视图,但是当行数超过 10 时,选择停止工作。
// Individual row function
row(data, secId, rowId) {
// place in queue
let place = Number(rowId) + 1;
// set the selected queuer to show its page
let setSelectedQueuer = () => {
this.setState({
selectedKey: data._key,
editName: data.name,
editParty: data.partySize,
editPhone: data.phoneNumber,
editNotes: data.notes
});
}
return (
<Queuer
key={data._key}
queuerKey={data._key}
place={place}
name={data.name}
selectedKey={this.state.selectedKey}
createdAt={data.createdAt}
partySize={data.partySize}
onPress={setSelectedQueuer}
/>
);
}
这会在创建时设置每个行键,并在单击时更改状态,然后在每行单独的行项目上进行比较。
let isSelected = () => {
if (this.props.queuerKey === this.props.selectedKey) {
return Colors.info;
} else {
return 'white';
}
}
单击其他行项目,但样式没有改变。添加第 10 项时发生了一些奇怪的事情。
【问题讨论】:
-
请提供更多有趣的代码,并将以下代码移出行函数,这会降低您的应用程序的性能。 "让 setSelectedQueuer = () => { this.setState({ selectedKey: data._key, editName: data.name, editParty: data.partySize, editPhone: data.phoneNumber, editNotes: data.notes }); } "跨度>
标签: listview reactjs react-native