在按钮单击时附加选择

尼拉吉·波德尔

我在模板中使用 ng2-select 来选择项目,有一个名为“添加”的按钮,单击该按钮时应显示另一个选择字段,其中包含其他类别的项目列表。为此,我的代码的最简单版本如下所示:

@Component({
moduleId: module.id,
selector: 'client-user-detail',
templateUrl: `<div #one> 
              <ng-select #selectRole [allowClear]="true" 
              [multiple]="true" (data)="refreshValue($event)" 
              (selected)="onSelectRole($event)"
              (removed)="removed($event)"
              (typed)="typed($event)"
              placeholder="Choose/Search">
             </ng-select>                                   

            <button [disabled]="isDisable"
                    class="btn btn-default" 
                    (click)="add()"> 
                    <i class=" fa fa-save"></i>
                      Add
            </button>


  `,
  styleUrls: ['clientuserdetail.component.css']
  })

   export class TestComponent {
   @ViewChild('selectRole') public select: SelectComponent;
   @ViewChild('one') d1:ElementRef;

    constructor(
    private renderer: Renderer
    ) { }

   add() {
   let htmlText = `<ng-select #selectRole [allowClear]="true" 
                [multiple]="true" (data)="refreshValue($event)" 
                (selected)="onSelectRole($event)"
                (removed)="removed($event)" (typed)="typed($event)" 
                placeholder="Choose/Search">
                </ng-select>`;

   this.renderer.invokeElementMethod
     (this.d1.nativeElement,'insertAdjacentHTML',
      ['beforeend',htmlText]);

    }

 }

上面的代码不会创建选择字段。我在某处阅读了有关组件解析器在这种情况下很有用的内容,但我没有掌握使用它的明确方法。如果有人可以简单地向我解释如何解决这个问题,我将不胜感激。我需要清楚地说明如何在 angular 2 中动态添加或附加组件。在此先感谢您。

传奇武器

我无法准确回答您尝试添加字段的方式,我建议您将ng-select放在ngFor 中,这样您的add()函数将增加并删除所有viewChild

import { Component } from '@angular/core';
/**
 * Created by lejendarm on 08/08/17.
 */


class Role {
  id: number;
  label: string;

  /* I'm not sure about the need of a constructor */
  constructor() {
    this.id = 0;
    this.label = '';
  }
}

@Component({
  moduleId: module.id,
  selector: 'client-user-detail',
  template: `<div *ngFor="role in roles"> 
              <ng-select [allowClear]="true" 
              [multiple]="true" (data)="refreshValue($event, role)" 
              (selected)="onSelectRole($event, role)"
              (removed)="removed($event, role)"
              (typed)="typed($event, role)"
              placeholder="Choose/Search">
             </ng-select>                                   
            </div>
            <button [disabled]="isDisable"
                    class="btn btn-default" 
                    (click)="add()"> 
                    <i class=" fa fa-save"></i>
                      Add
            </button>`,
  styleUrls: ['clientuserdetail.component.css']
})
export class TestComponent {
  private roles: Array<Role>;

  constructor(
  ) {
    this.roles = [new Role()];
  }

  add() {
    this.roles.push(new Role())
  }

  refreshValue($event, role) {}
  onSelectRole($event, role) {}
  removed($event, role) {}
  typed($event, role) {}
}

PS:即使与您的问题没有直接联系,我也会使用模板而不是templateUrl并关闭 div #one 以显示更好的代码。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在按钮上单击选择tableViewCell

来自分类Dev

附加选择框

来自分类Dev

单击添加选项时如何附加类似的表格?

来自分类Dev

Javascript 数字在按钮单击时反转

来自分类Dev

仅在按钮单击时滚动 GridView

来自分类Dev

如何从 Spinner 选择项目然后在按钮单击时执行某些操作?

来自分类Dev

如何在按钮单击时附加多个下拉列表,每个下拉列表的名称属性都有不同的索引?

来自分类Dev

引导程序3:在按钮组中添加选择列表

来自分类Dev

jQuery-在按钮外单击时保持对按钮的关注

来自分类Dev

选择phone_number属性在按钮上单击

来自分类Dev

在按钮单击时显示和隐藏下拉列表?

来自分类Dev

为什么在按钮单击OpenERP时插入命令

来自分类Dev

Bootstrap jQuery Modal在按钮单击时未加载

来自分类Dev

如何在按钮单击时动态添加指令

来自分类Dev

单击时,tkinter会在按钮上递增显示整数

来自分类Dev

如何在按钮单击时添加新的ObservableCollection?

来自分类Dev

在按钮单击事件中从tablelayout获取值时出错

来自分类Dev

在按钮和正文上均单击时,“阅读更多”

来自分类Dev

在按钮单击时切换文本区域

来自分类Dev

根据隐藏的输入类型在按钮单击时生成警报

来自分类Dev

JavaFX 在按钮单击时更改标签列表

来自分类Dev

如何在按钮单击时应用显示和隐藏?

来自分类Dev

在按钮提交单击时禁用页面背景

来自分类Dev

使用 JavaScript 在按钮单击时刷新或检索当前信息

来自分类Dev

如何在按钮单击时显示加载程序

来自分类Dev

通过 Javascript / jQuery 在按钮单击时显示 Bootstrap 警报

来自分类Dev

Jquery 在按钮单击时展开隐藏的表格行

来自分类Dev

Xamarin 命令不会在按钮单击时触发

来自分类Dev

使用 jquery 在按钮单击时复制表或 div 内容

Related 相关文章

  1. 1

    在按钮上单击选择tableViewCell

  2. 2

    附加选择框

  3. 3

    单击添加选项时如何附加类似的表格?

  4. 4

    Javascript 数字在按钮单击时反转

  5. 5

    仅在按钮单击时滚动 GridView

  6. 6

    如何从 Spinner 选择项目然后在按钮单击时执行某些操作?

  7. 7

    如何在按钮单击时附加多个下拉列表,每个下拉列表的名称属性都有不同的索引?

  8. 8

    引导程序3:在按钮组中添加选择列表

  9. 9

    jQuery-在按钮外单击时保持对按钮的关注

  10. 10

    选择phone_number属性在按钮上单击

  11. 11

    在按钮单击时显示和隐藏下拉列表?

  12. 12

    为什么在按钮单击OpenERP时插入命令

  13. 13

    Bootstrap jQuery Modal在按钮单击时未加载

  14. 14

    如何在按钮单击时动态添加指令

  15. 15

    单击时,tkinter会在按钮上递增显示整数

  16. 16

    如何在按钮单击时添加新的ObservableCollection?

  17. 17

    在按钮单击事件中从tablelayout获取值时出错

  18. 18

    在按钮和正文上均单击时,“阅读更多”

  19. 19

    在按钮单击时切换文本区域

  20. 20

    根据隐藏的输入类型在按钮单击时生成警报

  21. 21

    JavaFX 在按钮单击时更改标签列表

  22. 22

    如何在按钮单击时应用显示和隐藏?

  23. 23

    在按钮提交单击时禁用页面背景

  24. 24

    使用 JavaScript 在按钮单击时刷新或检索当前信息

  25. 25

    如何在按钮单击时显示加载程序

  26. 26

    通过 Javascript / jQuery 在按钮单击时显示 Bootstrap 警报

  27. 27

    Jquery 在按钮单击时展开隐藏的表格行

  28. 28

    Xamarin 命令不会在按钮单击时触发

  29. 29

    使用 jquery 在按钮单击时复制表或 div 内容

热门标签

归档