0
親からngForでn回生成された選択コンポーネント(コンボボックス)があります。兄弟から始まるコンポーネントの@Input値を変更する方法
@Input disable_flagを 'false'に設定しました。3つの要素のうち無効な2つとして初期化されました。
有効になっているオプションの選択後に、「true」の値を変更したいと思います。
親からngForでn回生成された選択コンポーネント(コンボボックス)があります。兄弟から始まるコンポーネントの@Input値を変更する方法
@Input disable_flagを 'false'に設定しました。3つの要素のうち無効な2つとして初期化されました。
有効になっているオプションの選択後に、「true」の値を変更したいと思います。
コンポーネントをMyComponentに設定すると、どのコンポーネントを有効にするかを親コンポーネントに伝えることができます。
// Parent component:
<myComponent *ngFor="let dropdown_element of dropdown_menu" [dropdownElement]="dropdown_element" (enableEl)="enableElement($event)"></myComponent>
export class ParentComponent {
dropdown_menu = [ ... ];
enableElement(element): void {
dropdown_menu.forEach(el => {
if (el.id === element.id) {
el.isDisabled = false;
} else {
el.isDisabled = true;
}
});
}
}
// Child component:
import { Component, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'myComponent',
//...
})
export class MyComponent {
@Output() enableEl = new EventEmitter<any>();
@Input() dropdownElement;
\t
enable():void {
this.enableEl.emit(dropdownElement);
} \t
}