可以使用什么技术来访问放置在* ngFor下的DOM元素(获取和设置值)

时间:2018-08-17 13:28:16

标签: angular typescript

我要访问<span><select>元素。我的代码模板如下所示

<div *ngFor="---">
  <div>
    <span></span>
    <select>
     <option></option>
     <option></option>
     <option></option>
    </select>
  </div>
</div>

2 个答案:

答案 0 :(得分:3)

使用QueryListViewChildren获取*ngFor中的元素;

  ngAfterViewInit() {
    console.log(this.sp1)
  }

  @ViewChildren('swrapper') sp1: QueryList<any>;

HTML:

<div #wrapper> 
    <div *ngFor="---; i = index">
      <div>
        <span></span>
        <select [(ngModule)]="'selectElement' + i">
         <option></option>
         <option></option>
         <option></option>
        </select>
      </div>
    </div>
</div>

答案 1 :(得分:2)

您可以在Angle 2+中使用以下技术。 尝试获取Select,例如:

<div #wrapper> 
    <div *ngFor="---; i = index">
      <div>
        <span></span>
        <select [(ngModule)]="'selectElement' + i">
         <option></option>
         <option></option>
         <option></option>
        </select>
      </div>
    </div>
</div>

在同一组件.ts文件中:

 @ViewChildren('wrapper') wrapper: QueryList<any>;

然后要使用它,您要做的就是:

this.wrapper

或通过使用所有各种selectElement#引用ngFor中的索引