我正在尝试在react-native中过滤(使用fuzzy包)ListView。我的代码是这样的:
getInitialState: function() {
return {
dataSource: new ListView.DataSource({
rowHasChanged: (row1, row2) => row1 !== row2
})
}
},
componentDidMount: function() {
Contacts.registerChanges((contacts) => {
this.setContacts(contacts, this.props.filter)
})
Contacts.loadContacts()
},
setContacts: function(contacts, filter) {
var filteredContacts = fuzzy.filter(
filter,
contacts,
options)
this.setState({
dataSource: this.state.dataSource.cloneWithRows(filteredContacts)
})
}
componentWillReceiveProps: function(props){
this.setContacts(Contacts.getContacts(), props.filter)
},
render: function() {
return (
<ListView
dataSource={this.state.dataSource}
renderRow={(rowData) => <ContactItem contact={rowData.original} />}
style={styles.container}
/>
)
}
当我运行代码时,一切正常,直到我尝试更改过滤器值。当过滤器值更改时,我收到以下错误:
尝试在空对象引用上读取字段'int.android.view.ViewGroup $ LayoutParams.width'。
我不知道发生了什么。我在Android中运行它。
答案 0 :(得分:1)