如何根据 service.ts 中的报表 categoryID 参数制作函数返回报表?
Posted
技术标签:
【中文标题】如何根据 service.ts 中的报表 categoryID 参数制作函数返回报表?【英文标题】:How to make function return reports based on report categoryID Paramter on service.ts? 【发布时间】:2020-09-18 05:27:44 【问题描述】:我在 Angular 7 应用程序上工作,我需要根据报告类别 ID 从 allReportsubCategory 返回数据
但我面临如何根据 reportcategoryID 从 allReportsubCategory 返回数据的问题。
so 如何编写基于 ReportCategoryID 的函数返回报表?
allReportsubCategory:any[];
this.allReportsubCategory =[
"reportID": 1,
"reportName": "xxx",
"reportIndex": 1,
"reportCategoryID": 3,
,
"reportID": 17,
"reportName": "Jobs Monitor",
"reportIndex": 1,
"reportCategoryID": 3
,
"reportID": 2025,
"reportName": "Old Tables Report",
"reportIndex": 1,
"reportCategoryID": 3
];
在 service.ts 上
GetreportByCategoryId(reportCategoryID:string)
return this.allReportsubCategory.??????
所以我需要将 3 传递给函数 GetreportByCategoryId(reportcategoryID) 返回上面的所有数据 reportcategoryid= 3
更新帖子
在组件上调用时如下
reportByCategoryId:any[]
this.reportByCategoryId = this._displayreport.GetreportByCategoryId("3");
console.log("data by category id" + this.reportByCategoryId )
以上数据不返回,控制台日志如下:
idundefined 类别的数据
【问题讨论】:
【参考方案1】:要通过某些条件过滤数组中的值,您可以使用filter method。此外,由于提供的数据中的reportCategoryID
具有数字类型,因此您需要在此方法中使用number
类型。
GetreportByCategoryId(id: number)
return this.allReportsubCategory
.filter(category => category.reportCategoryID === id);
【讨论】:
请在您的答案中添加一些解释。不要直接发布答案!让操作人员知道为什么这是解决方案 好的,这很好,当我在组件上调用它时,我是否使用订阅 除非方法返回observable,否则不需要订阅 当在回答帖子 1 上调用方法时,它给了我未定义 那么有什么问题以上是关于如何根据 service.ts 中的报表 categoryID 参数制作函数返回报表?的主要内容,如果未能解决你的问题,请参考以下文章