我有一个功能,可以根据给定索引的状态从数组中删除元素。在这里:
removeFromRowsById(index) {
console.log("IN REMOVE FUNCTION");
const newList = this.state.rows1;
newList.splice(index, 1);
this.setState({ rows1: newList });
}
我在我的渲染方法中这样调用它:
this.removeFromRowsById.bind(this, this.state.rows1.indexOf(this.returnValueToDelete(this.state.rows1[1]["id"])))
问题是,当我调用它时,什么也没发生。似乎该方法从未执行过,因为“ IN REMOVE FUNCTION”从未记录在控制台中,但是console.log(this.returnValueToDelete(this.state.rows1[index]["id"]))
这样做了,因此我知道它将在if语句中进行。任何类型的帮助我都非常感谢。我是Reactjs的新手,并且已经为此工作了一段时间。谢谢!
答案 0 :(得分:0)
您是否尝试过更改条件?
!(columnToFilterOut.indexOf(rows1[index]["id"]) > -1)
由于您不太可能拥有小于-1的索引,因此似乎永远不会满足此条件。
答案 1 :(得分:0)
尝试一下,希望这对您有用
removeFromRowsById(index) {
console.log("IN REMOVE FUNCTION");
const newList = this.state.rows1;
newList.splice(index, 1);
this.setState({ rows1: newList });
}
通过这种方式从渲染调用此函数:
this.removeFromRowsById(this.state.rows1.indexOf(this.returnValueToDelete(this.state.rows1[1]["id"])))