Angular 2 선택한 속성을 동적으로 생성 된 옵션에 바인딩

Colum

Angular 2 RC4를 사용하고 있습니다.

내 구성 요소의 변수에 바인딩 된 드롭 다운 선택 요소를 만들고 다음 *ngFor과 같이를 사용하여이 선택에 대한 옵션을 만듭니다 .

<select id="role-select" class="form-control" [(ngModel)]="foo.bars" multiple>
    <option *ngFor="let bar of bars">{{bars}}</option>
</select>

bars변수는 동적으로 채워집니다 :

ngOnInit(){
    this._service.GetBars().subscribe(
        result => {
            this.bars = result;
        },
        err => {
            console.log(err);
        },
        () => {}  
    );
}

또한 foo.bars변수를 동적으로 채 웁니다 .

constructor(public _service: Service){
    _service.GetFooBars()
        .subscribe((data) => {
            this.foo.bars = data;
        },(err) => {
            console.log(err);
        },  () => {
            // done                    
        });
}

이제 내가 원하는 selected것은 barsin 과 일치하는 모든 옵션 에서 속성을 true 로 설정하는 입니다 foo.bars. 현재 나는 이것을 사용합니다.

var roleSelect = document.getElementById("role-select");
this.foo.bars.forEach((v,i) => {
    for (var j = 0; j < roleSelect.options.length; j++) {
        if (roleSelect.options[j].text === v) {
            roleSelect.options[j].selected = true;
        }
    }
});

이것은 완벽하게 작동하지만 트랜스 파일러는 옵션이 HTMLElement []에 존재하지 않는다는 오류를 던지고 약간 더 강력한 솔루션을 원합니다.

어떤 아이디어라도 감사합니다.

맥시 샘

어때

ngOnInit(){
    this._service.GetBars().contactMap(result => {
        this.bars = result;
        return this._service.GetFooBars();
    }).subscribe(
        data => {
            this.foo.bars = data;
            setSelected();
        },
        err => console.log(err)
        )
}

setSelected(){
    var roleSelect = document.getElementById("role-select");
    this.foo.bars.forEach((v, i) => {
        for (var j = 0; j < roleSelect.options.length; j++) {
            if (roleSelect.options[j].text === v) {
                roleSelect.options[j].selected = true;
            }
        }
    });
}

그러나 setSelected 함수가 실제로 필요하지 않다고 생각합니다.

이론적으로는 ngModel이이를 처리해야합니다.

그렇지 않은 경우 템플릿에서 [selected]="bar===foo.bars"

<select id="role-select" class="form-control" [(ngModel)]="foo.bars" multiple>
    <option *ngFor="let bar of bars" [selected]="bar===foo.bars">{{bars}}</option>
</select>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

동적으로 생성 된 구성 요소 / 요소의 바인딩 가능한 속성에 바인딩

분류에서Dev

데이터 바인딩 Angular2 동적으로 생성 된 구성 요소

분류에서Dev

DataTemplate에 동적으로 생성 된 UserControl 속성에 바인딩

분류에서Dev

동적으로 작성된 옵션에 선택한 속성 쓰기

분류에서Dev

select2 및 바인딩 값을 사용하여 동적으로 생성 된 선택 상자

분류에서Dev

동적으로 생성 된 선택 요소에서 선택한 옵션의 값을 어떻게 얻습니까?

분류에서Dev

JQUery : 동적으로 생성 된 선택 옵션 목록에서 값 선택

분류에서Dev

동적으로 생성 된 요소에 대한 Angularjs 바인딩 문제

분류에서Dev

동적으로 생성 된 요소에 대한 이벤트 바인딩

분류에서Dev

동적으로 생성 된 선택 옵션 태그에 자바 스크립트 배열 값 할당

분류에서Dev

동적으로로드 된 옵션에서 선택한 옵션을 비활성화하는 방법

분류에서Dev

동적으로 생성 된 요소에 이벤트 바인딩

분류에서Dev

AngularJS : 동적으로 생성 된 HTML에 데이터 바인딩

분류에서Dev

동적으로 생성 된 라벨에 바인딩 방법

분류에서Dev

선택 옵션에 따라 동적으로 생성 된 div 숨기기 / 표시

분류에서Dev

동적으로 표로 작성된 옵션 목록에 선택한 속성 설정

분류에서Dev

동적으로 생성 된 선택을 옵션으로 채우는 방법

분류에서Dev

Angular2 +에서 동적으로 생성 된 요소에 속성을 어떻게 추가합니까?

분류에서Dev

Angular 2에서 동적으로 생성 된 양식 필드를 개체에 바인딩하는 방법은 무엇입니까?

분류에서Dev

jquery로 동적으로 생성 된 옵션을 어떻게 선택합니까?

분류에서Dev

바인딩 된 속성에서 선택한 항목 읽기

분류에서Dev

v 모델을 계산 된 속성에 동적으로 바인딩

분류에서Dev

AnguarJS : 동적으로 생성 된 컨트롤을 모델에 바인딩

분류에서Dev

AnguarJS : 동적으로 생성 된 컨트롤을 모델에 바인딩

분류에서Dev

Angular 2에서 동적으로 생성 될 때 선택 양식에 특정 옵션을 어떻게 설정할 수 있습니까?

분류에서Dev

동적으로 생성 된 선택 (드롭 다운) 목록에서 옵션 선택

분류에서Dev

동적으로 생성 된 <옵션> <선택> Express EJ에서 값을 얻는 방법

분류에서Dev

jQuery-iframe에서 동적으로 생성 된 요소에 대한 이벤트 바인딩

분류에서Dev

동적으로로드 된 Ionic2 이온 선택에 대해 선택한 속성을 설정할 수 없습니다.

Related 관련 기사

  1. 1

    동적으로 생성 된 구성 요소 / 요소의 바인딩 가능한 속성에 바인딩

  2. 2

    데이터 바인딩 Angular2 동적으로 생성 된 구성 요소

  3. 3

    DataTemplate에 동적으로 생성 된 UserControl 속성에 바인딩

  4. 4

    동적으로 작성된 옵션에 선택한 속성 쓰기

  5. 5

    select2 및 바인딩 값을 사용하여 동적으로 생성 된 선택 상자

  6. 6

    동적으로 생성 된 선택 요소에서 선택한 옵션의 값을 어떻게 얻습니까?

  7. 7

    JQUery : 동적으로 생성 된 선택 옵션 목록에서 값 선택

  8. 8

    동적으로 생성 된 요소에 대한 Angularjs 바인딩 문제

  9. 9

    동적으로 생성 된 요소에 대한 이벤트 바인딩

  10. 10

    동적으로 생성 된 선택 옵션 태그에 자바 스크립트 배열 값 할당

  11. 11

    동적으로로드 된 옵션에서 선택한 옵션을 비활성화하는 방법

  12. 12

    동적으로 생성 된 요소에 이벤트 바인딩

  13. 13

    AngularJS : 동적으로 생성 된 HTML에 데이터 바인딩

  14. 14

    동적으로 생성 된 라벨에 바인딩 방법

  15. 15

    선택 옵션에 따라 동적으로 생성 된 div 숨기기 / 표시

  16. 16

    동적으로 표로 작성된 옵션 목록에 선택한 속성 설정

  17. 17

    동적으로 생성 된 선택을 옵션으로 채우는 방법

  18. 18

    Angular2 +에서 동적으로 생성 된 요소에 속성을 어떻게 추가합니까?

  19. 19

    Angular 2에서 동적으로 생성 된 양식 필드를 개체에 바인딩하는 방법은 무엇입니까?

  20. 20

    jquery로 동적으로 생성 된 옵션을 어떻게 선택합니까?

  21. 21

    바인딩 된 속성에서 선택한 항목 읽기

  22. 22

    v 모델을 계산 된 속성에 동적으로 바인딩

  23. 23

    AnguarJS : 동적으로 생성 된 컨트롤을 모델에 바인딩

  24. 24

    AnguarJS : 동적으로 생성 된 컨트롤을 모델에 바인딩

  25. 25

    Angular 2에서 동적으로 생성 될 때 선택 양식에 특정 옵션을 어떻게 설정할 수 있습니까?

  26. 26

    동적으로 생성 된 선택 (드롭 다운) 목록에서 옵션 선택

  27. 27

    동적으로 생성 된 <옵션> <선택> Express EJ에서 값을 얻는 방법

  28. 28

    jQuery-iframe에서 동적으로 생성 된 요소에 대한 이벤트 바인딩

  29. 29

    동적으로로드 된 Ionic2 이온 선택에 대해 선택한 속성을 설정할 수 없습니다.

뜨겁다태그

보관