你可以这样做var query1 = Quer1.selectAll({filterBy: (entity:any) =>(entity.staffDept === 'SomeDepartment') && (entity.staffId === someID});
,或者更合适的方式
@Injectable({
providedIn: 'root'
})
export class DeliveryQuery extends QueryEntity<DeliveryState, Delivery> {
selectVisibilityFilter$ = this.select(state => state.ui);
selectVisibleDeliveries$ = combineLatest(
this.selectVisibilityFilter$,
this.selectAll(),
this.getVisibleDelivery,
);
constructor(protected store: DeliveryStore) {
super(store);
}
private getVisibleDelivery(filter, delivery): Delivery[] {
switch (filter.filter) {
case 'COMPLETED':
switch (filter.drivername) {
case 'All':
return delivery.filter(d => (d.data.CHECKPOINT_CODE === 'DLC'));
default:
return delivery.filter(d => (d.data.CHECKPOINT_CODE === 'DLC') && (d.data.MOBILE_USER_ID === filter.drivername));
}
case 'FAILED':
switch (filter.drivername) {
case 'All':
return delivery.filter(d => d.data.CHECKPOINT_CODE === 'DLP');
default:
return delivery.filter(d => (d.data.CHECKPOINT_CODE === 'DLP') && (d.data.MOBILE_USER_ID === filter.drivername));
}
case 'ASSIGNED':
switch (filter.drivername) {
case 'All':
return delivery.filter(d => d.data.CHECKPOINT_CODE === 'ASSIGNED');
default:
return delivery.filter(d => (d.data.CHECKPOINT_CODE === 'ASSIGNED') && (d.data.MOBILE_USER_ID === filter.drivername));
}
}
}
}
然后你这样称呼它:this.list = this.deliveryQuery.selectVisibleDeliveries$
我不确定这是否是最好的方法,但这是我通过修改文档中的方法得到的。希望它可以帮助。我自己也与秋田框架作斗争:)