这是我的代码。
onRowSelection(event, selectedRule) {
if(event.node && this.props.selectedRule.id !== null){
if ( event.node.selected && !this.props.selectedRule ||
event.node.data.id !== this.props.selectedRule.id) {
this.props.getRule(event.node.data.id);
this.setSelectedRow(event.node.data.id)
}
}
}
我选择行时收到错误。
未捕获的TypeError:无法读取属性' id'为null
答案 0 :(得分:0)
尝试以下
.exit
即使这会绕过您的错误,也不会解决您的问题,此时您需要检查 onRowSelection(event, selectedRule) {
// add checking whether this.props.selectedRule is null or not
if(event.node && this.props.selectedRule !== null && this.props.selectedRule.id !== null){
if ( event.node.selected && !this.props.selectedRule ||
event.node.data.id !== this.props.selectedRule.id) {
this.props.getRule(event.node.data.id);
this.setSelectedRow(event.node.data.id)
}
}
}
来this.props.selectedRule
的原因。
答案 1 :(得分:0)
onRowSelection(event, selectedRule)
selectedRule
未被使用,因为它位于函数体内。
我的建议(基于您发布的几行代码)是使用selectedRule
您使用的this.props.selectedRule
答案 2 :(得分:0)
由于
我写了像这样的if条件
onRowSelection(event) {
if(event.node && event.node.data){
if ( event.node.selected && !this.props.selectedRule){
this.props.getRule(event.node.data.id);
this.setSelectedRow(event.node.data.id)
}
if(this.props.selectedRule){
if ( event.node.data.id !== this.props.selectedRule.id) {
this.props.getRule(event.node.data.id);
this.setSelectedRow(event.node.data.id)
}
}
}
}
它似乎现在正在运作。