我正在尝试向表格添加删除按钮,以便我可以获取el.id
并将其删除。我无法阅读el.id
,因此我想将其添加到各州。
请告诉我是否有其他解决方案或是否可以修复。
这是我的代码:
componentDidMount: function(){
var url = 'I have an api here'
axios.get(url).then(function(response){
var arr = $.map(response.data, function(el) {
$.each(el, function (i, word) {
this.setState({el: el});
$("#data").append(
'<tr><td>' + el.name + '</td><td>' + el.email + '</td><td>' + el.category + '</td><td>' + el.address + '</td><td>' + '<button onClick={console.log(el)} class="btn btn-primary">delete</button>'
);
});
});
$('body').addClass('stop-scrolling');
})
},
答案 0 :(得分:-1)
您在回调函数中调用了this.setState
,因此this
没有达到预期的上下文。
您可以将this
的值存储在变量中:
componentDidMount: function(){
var url = 'I have an api here';
var self = this;
axios.get(url).then(function(response){
var arr = $.map(response.data, function(el) {
$.each(el, function (i, word) {
self.setState({el: el});
$("#data").append('<tr><td>' + el.name + '</td><td>' + el.email + '</td><td>' + el.category + '</td><td>' + el.address + '</td><td>' + '<button onClick={console.log(el)} class="btn btn-primary">delete</button>');
});
});
$('body').addClass('stop-scrolling');
})
},
或者您可以使用箭头功能来解决您的问题