我有一个函数,它接受用户的过滤器选择,然后发出一个请求,过滤根据这些过滤器选择返回的数据。
我遇到的问题是,即使我使用条件逻辑来确定与type
value
关联的内容,使用我当前的实现,因为只有一个值可以是当用户在第二个过滤器上进行选择(例如,对于位置)时,一次重新调整,先前的值(例如,可能已经用于language
)被删除。换句话说,我正在试图弄清楚如何确保我可以堆叠过滤器选择 - 这样语言和位置过滤器值都将传递给API。
也许我可以在对象中创建language
和location
属性?但是,如果我这样做,我怎么然后将这些单独的值传递给API - 期望“语言”和“位置”作为单独的参数传递(您可以在我下面的代码中看到)?那会是什么样的?
这是我目前的功能:
private onFilterReceived(value: any, type: string, page)
{
let language = '';
let location = '';
if (value && type === 'language')
{
language = value;
}
else if (value && type === 'location')
{
location = value;
}
let fn = resRecordsData => {
this.records = resRecordsData;
let data = resRecordsData.data;
};
this.filtersService.getByFilter(page - 1, this.pagesize, this.currentStage, language, location, fn);
}