Javascript 如何使列表处于活动状态,则它将不会在控制台中应用

Javascript 如何使列表处于活动状态,则它将不会在控制台中应用,javascript,angular,typescript,Javascript,Angular,Typescript,TS HTML* 以下是输出: 问题是,当我在控制台中单击“确认”时,应该是这样的。 /api?length=100&status=&ack=true它应该是空的,但是下拉菜单上的检查应该是活动的,并且不添加新变量。我的问题是,当我单击确认时,控制台中的输出为/api?长度=100&状态=确认&确认=真,这不是我期望的输出 控制台中的预期输出应该是这样的/api?长度=100&status=&ack=true,下拉组列表中的输出应该是这样的: 新产出: 单击确认时=>/api?长度=100&状态

TS

HTML*

以下是输出:

问题是,当我在控制台中单击“确认”时,应该是这样的。 /api?length=100&status=&ack=true它应该是空的,但是下拉菜单上的检查应该是活动的,并且不添加新变量。我的问题是,当我单击确认时,控制台中的输出为/api?长度=100&状态=确认&确认=真,这不是我期望的输出

控制台中的预期输出应该是这样的/api?长度=100&status=&ack=true,下拉组列表中的输出应该是这样的:

新产出:

单击确认时=>/api?长度=100&状态=&ack=true


当其他人单击=>/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']);
}