Javascript 如何使列表处于活动状态,则它将不会在控制台中应用
TS HTML* 以下是输出: 问题是,当我在控制台中单击“确认”时,应该是这样的。 /api?length=100&status=&ack=true它应该是空的,但是下拉菜单上的检查应该是活动的,并且不添加新变量。我的问题是,当我单击确认时,控制台中的输出为/api?长度=100&状态=确认&确认=真,这不是我期望的输出 控制台中的预期输出应该是这样的/api?长度=100&status=&ack=true,下拉组列表中的输出应该是这样的: 新产出: 单击确认时=>/api?长度=100&状态=&ack=trueJavascript 如何使列表处于活动状态,则它将不会在控制台中应用,javascript,angular,typescript,Javascript,Angular,Typescript,TS HTML* 以下是输出: 问题是,当我在控制台中单击“确认”时,应该是这样的。 /api?length=100&status=&ack=true它应该是空的,但是下拉菜单上的检查应该是活动的,并且不添加新变量。我的问题是,当我单击确认时,控制台中的输出为/api?长度=100&状态=确认&确认=真,这不是我期望的输出 控制台中的预期输出应该是这样的/api?长度=100&status=&ack=true,下拉组列表中的输出应该是这样的: 新产出: 单击确认时=>/api?长度=100&状态
当其他人单击=>/api?长度=100&status=READ&ack=确认应该如何激活?如果您指的是勾号,那么它不是已经激活了吗。因为activeFilter.status仍将等于“ACK”,而Acknowledge仍将显示勾号。尝试发布的代码,让我们知道它是否有效。
activeFilter = {
filterBy: 'Application',
length: 100,
status: '',
order: 'ASC',
grouped: false
};
ngOnInit() {
}
handleFilter(targetFilter?: string, value?: any, idx?: any) {
this.activeFilter[targetFilter] = value;
if (this.activeFilter[targetFilter] === 'ACK') {
this.activeFilter['ack'] = true;
} else {
this.activeFilter['ack'] = '';
}
console.log('/api?length=100&status='+this.activeFilter['status']+'&ack='+this.activeFilter['ack']);
}
<nz-dropdown
class="filter-dropdown"
[nzTrigger]="'click'"
nzPlacement="bottomRight"
>
<a nz-dropdown nz-tooltip>
{{ activeFilter.filterBy }}
<i nz-icon [type]="activeFilter.order === 'ASC' ? 'up' : 'down'"></i>
</a>
<ul nz-menu>
<li class="filter-dropdown-item" nz-menu-item (click)="handleFilter('status', '')">All
<i nz-icon nzType="check" *ngIf="activeFilter.status==''" nzTheme="outline"></i>
</li>
<li class="filter-dropdown-item" nz-menu-item (click)="handleFilter('status', 'ACK')">Acknowledged
<i nz-icon nzType="check" *ngIf="activeFilter.status=='ACK'" nzTheme="outline"></i>
</li>
<li class="filter-dropdown-item" nz-menu-item (click)="handleFilter('status', 'READ')">Read
<i nz-icon nzType="check" *ngIf="activeFilter.status=='READ'" nzTheme="outline"></i>
</li>
<li class="filter-dropdown-item" nz-menu-item (click)="handleFilter('status', 'NEW')">New
<i nz-icon nzType="check" *ngIf="activeFilter.status=='NEW'" nzTheme="outline"></i>
</li>
</ul>
</nz-dropdown>
handleFilter(targetFilter?: string, value?: any, idx?: any) {
// Here you are setting activeFilter.status = 'ACK'
this.activeFilter[targetFilter] = value;
..
// So the api call would get the same.
// If you want other behaviour, you can use the value variable or any other to hold the updated string
if (value === 'ACK') {
this.activeFilter['ack'] = true;
value = '';
} else {
this.activeFilter['ack'] = '';
}
console.log('/api?length=100&status='+value+'&ack='+this.activeFilter['ack']);
}