我有一种用户添加样本数据的情况,如图所示。如何添加删除按钮,仅删除特定样本。从图中可以看出,我想要“删除样本1”来删除样本1记录。
由于
单击“添加样本”按钮时触发的代码
$ scope.addSample = function(){
$scope.partdetails = [
{
"sampleseq": 0,
"sampleid": 1,
"attribute": "Height",
"measureunit": "Centimeter",
"actualvalue": null,
"lowerspec": 1.23,
"upperspec": 3.23,
"notes": null
},
{
"sampleseq": 0,
"sampleid": 2,
"attribute": "Diameter",
"measureunit": "Inches",
"actualvalue": null,
"lowerspec": 1.23,
"upperspec": 3.23,
"notes": null
}
];
$scope.partdetails[0].sampleseq = $scope.sampleCount;
$scope.partdetails[1].sampleseq = $scope.sampleCount;
$scope.partdetailsList.push($scope.partdetails[0]);
$scope.partdetailsList.push($scope.partdetails[1]);
$scope.sampleCount += 1;
}
答案 0 :(得分:0)
此链接有解决方案只需修改列表accinlgy
https://coderwall.com/p/fnp2oq/use-ng-repeat-on-tbody-to-create-summary-rows-for-nested-data
答案 1 :(得分:0)
您可以使用Array.prototype.filter
获取新的数据记录,而不会出现谓词函数失败的项目
让我们说你的删除按钮调用一个名为deleteSample
的函数,并传递一个示例id:
<强> HTML 强>:
... ng-repeat="row in records" ...
<button ng-click="deleteSample(row.sampleid)">Delete sample</button>
<强>控制器强>:
$scope.deleteSample = function(sampleId) {
$scope.records = $scope.records.filter((row)=> {
return !angular.equals(sampleId, row.sampleid)
});
}
当然,这并没有解决您可能需要删除数据库中的行的问题。