在我们的应用程序中,我为每行添加了一个验证,您不能拥有两个相同的列值。我已经完成了,但是我在删除行中有问题
例
单击时在右侧有一个删除按钮,Cannot read property .....
即使在数据中已声明它也给我一个错误
错误信息
代码视图
deleteRow(i, e){
var month = this.added_items[i].selected_month.id
var chart_of_account_id = this.added_items[i].selected_chart_of_account.id
var count = 0
// var duplicate = false
this.submitStatus = ''
this.duplicate_month = false
this.added_items.filter(function( obj ) {
console.log(this.submitStatus)
if((obj.selected_month.id == month && obj.selected_chart_of_account.id == chart_of_account_id) && obj.id != i){
count++
if(count >= 2)
{
// this.added_items[i].duplicate_month = true
// this.submitStatus = 'ERROR'
// this.duplicate_month = true
}
}
return obj.id !== i;
});
console.log(this.added_items)
e.preventDefault()
},
问题:如何在过滤函数中调用数据?因为当我尝试以下任何一种方法时:this.submitStatus / this.added_items [i] .duplicate_month / this.duplicate_month它给了我一个错误
您可以通过两种方式进行处理
选项1:箭头功能
this.added_items.filter(( obj ) => {
console.log(this.submitStatus)
if(
(
obj.selected_month.id == month &&
obj.selected_chart_of_account.id == chart_of_account_id
) &&
obj.id != i
){
count++
if(count >= 2)
{
// this.added_items[i].duplicate_month = true
// this.submitStatus = 'ERROR'
// this.duplicate_month = true
}
}
return obj.id !== i;
});
选项2:将此绑定
this.added_items.filter(function( obj ) {
console.log(this.submitStatus)
if(
(
obj.selected_month.id == month &&
obj.selected_chart_of_account.id == chart_of_account_id
) &&
obj.id != i
){
count++
if(count >= 2)
{
// this.added_items[i].duplicate_month = true
// this.submitStatus = 'ERROR'
// this.duplicate_month = true
}
}
return obj.id !== i;
}).bind(this);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句