JavaScript无法读取属性' id'为null

时间:2017-07-10 05:00:03

标签: javascript reactjs

这是我的代码。

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

3 个答案:

答案 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)
            }
        }
    }

}
它似乎现在正在运作。