angular2-multiselect下拉列表选中所有框,单击1复选框

问题描述 投票:0回答:1

<angular2-multiselect 
         [data]="dataList | OrderBy : 'clientName'" [(ngModel)]="selectedItems[dataList.clientId]" 
         [settings]="dropdownSettings" name="multiSelect"
        
         (onSelect)="onItemSelect($event, dataList.clientId)" 
         (onDeSelect)="OnItemDeSelect($event,dataList.clientId)"
         (onSelectAll)="onSelectAll($event)"
         (onDeSelectAll)="onDeSelectAll($event)" disabled>
    
  <c-item>
     <ng-template let-item="item">
       <label style="color: #333;min-width: 160px;">{{item.clientName}}- {{item.clientId}}</label>
     </ng-template>
</c-item> 

</angular2-multiselect>

dataList是来自后端的列表,除了dropDown中的复选框外,一切都正常。我无法选择1复选框,因为它在点击1 cb时也选择了全部。

javascript angular typescript multi-select
1个回答
0
投票

您可以使用“ng-multiselect-dropdown”完成

安装:

npm install ng-multiselect-dropdown

然后将其包含在您的模块中(请参阅app.module.ts):

import { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown';
// ...

@NgModule({
imports: [
NgMultiSelectDropDownModule.forRoot()
// ...
]
// ...
})
export class AppModule {}

用法

import { Component, OnInit } from '@angular/core';

export class AppComponent implements OnInit {
dropdownList = [];
selectedItems = [];
dropdownSettings = {};
ngOnInit() {
this.dropdownList = [
  { item_id: 1, item_text: 'Mumbai' },
  { item_id: 2, item_text: 'Bangaluru' },
  { item_id: 3, item_text: 'Pune' },
  { item_id: 4, item_text: 'Navsari' },
  { item_id: 5, item_text: 'New Delhi' }
];
this.selectedItems = [
  { item_id: 3, item_text: 'Pune' },
  { item_id: 4, item_text: 'Navsari' }
];
this.dropdownSettings = {
  singleSelection: false,
  idField: 'item_id',
  textField: 'item_text',
  selectAllText: 'Select All',
  unSelectAllText: 'UnSelect All',
  itemsShowLimit: 3,
  allowSearchFilter: true
};
}
onItemSelect(item: any) {
console.log(item);
}
onSelectAll(items: any) {
console.log(items);
}
}

HTML代码:

<ng-multiselect-dropdown
[placeholder]="'custom placeholder'"
[data]="dropdownList"
[(ngModel)]="selectedItems"
[settings]="dropdownSettings"
(onSelect)="onItemSelect($event)"
(onSelectAll)="onSelectAll($event)"
>
</ng-multiselect-dropdown>

有关详细信息,请查看URL - https://www.npmjs.com/package/ng-multiselect-dropdown

© www.soinside.com 2019 - 2024. All rights reserved.