带ControlValueAccessor的自定义组件-如何设置/预定义所选选项?

时间:2019-07-25 13:09:42

标签: angular drop-down-menu controlvalueaccessor

我知道我的问题已经以不同的方式提出了。不幸的是,没有答案没有帮助,因为我在自定义组件中使用了Select-Field。我的问题是我只是无法为选择字段中的选项之一设置所选选项。

我一直在尝试几种选择,但没有一个有帮助。有任何提示或想法吗?

我在父组件中嵌入的

用于“选择字段”的自定义组件HTML:

<select [(ngModel)]="selectedValue" [name]="name" required="{{required}}">
        <option *ngFor="let opt of dataList" 
                [ngValue]="{{opt.value}}" 
                id="{{opt.name}}">
             {{opt.name}}
        </option>
</select>
使用 selectedValue ts 文件中定义

ControlValueAccessor

get selectedValue(): any {
    return this.selectedEntry;
}

set selectedValue(entry: any) {
    if (this.selectedEntry !== entry) {
        this.selectedEntry = entry;
        this.changed.forEach(f => f(entry));
    }
}

绑定到父组件中:

<select-data-list [name]="'loginPageStyle'"                                                 
                  [(ngModel)]="myobject.xxx.yyy"
                  [ngModelOptions]="{ standalone: true }"                                                             
                  [dataList]="[
                                 {name: 'Test One', value: '1'},
                                 {name: 'Test Two', value: '2'}
                  ]"
                  [required]="true">
</select-data-list>

0 个答案:

没有答案