angular - Angular 多选的自定义触发器

标签 angular dropdown multi-select angular-bootstrap

是否有带有自定义触发按钮的 Angular 2+ 多选下拉菜单?

我正在寻找类似于旧的 AngularJS“使用嵌入的自定义触发元素”(here)的东西......但是,ng-select,ng-multiselect-dropdown 和其他似乎没有提供这个。

我正在寻找带有示例代码的任何可行选项。

enter image description here

最佳答案

补充我的评论,组件变成

.html

<div ngbDropdown class="d-inline-block" autoClose="outside">
    <button class="btn btn-outline-primary" id="dropdownBasic1" ngbDropdownToggle>
        {{data.length?data.length+' checked':'Select'}}
  </button>
  <div ngbDropdownMenu aria-labelledby="dropdownBasic1">
        <button class="dropdown-item" *ngFor="let option of options" (click)="check(option)">
          <span *ngIf="option.checked">~ </span>{{option.label}}
        </button>
  </div>
</div>

.ts

import {Component,Input,Output,EventEmitter} from '@angular/core';

@Component({
  selector: 'ngbd-dropdown-basic',
  templateUrl: './dropdown-basic.html'
})
export class NgbdDropdownBasic {
  @Input() options;
  @Output() change = new EventEmitter<any[]>();
  data:any[]=[];
  check(option)
  {
    option.checked=!option.checked;
    this.data=this.options.filter((x:any)=>x.checked).map(x=>
      {
        return {id:x.id,label:x.label}
      })
    this.change.emit(this.data);
  }
}

stackblitz

您可以在自定义表单控件中轻松转换

关于angular - Angular 多选的自定义触发器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54164963/

相关文章:

jquery - 如何用jQuery实现多选输入?

angular - 谷歌地图不使用 ionic/angular2 显示

asp.net-mvc - Angular 2 : how to get params from URL without using Routing?

angular - 如何访问控制台中的 ngrx 存储?

javascript - jQuery MultiSelect 插件 SumoSelect 未绑定(bind)到单个页面上的多个实例

yii - 如何在 yii 的更新 View 中加载多选列表框中的选定列表项?

angular - 如何以 Angular 8 显示文件

javascript - ddslick 图像下拉菜单,样式格式

javascript - D3.js:获取所选下拉选项的文本?

javascript - 无法使用 Scrapy 从下拉列表中抓取