将对象属性从下拉列表绑定到其他对象属性

时间:2019-02-08 12:41:11

标签: html angular typescript angular-datatables

我试图将所选的选项从下拉列表绑定到数据表中的特定对象属性。请在下面编码。

<data-table-column [property]="'CostTypeId'"
                   [header]="'Type'"
                   [sortable]="false"
                   [resizable]="true">
    <ng-template #dataTableCell let-item="item">
        <select class="form-control form-control-sm mt-1"
                [(ngModel)]="item.CostTypeId"
                [class.is-invalid]="validateCostType(item)">
            <option *ngFor="let type of recoveryCostTypes" [(ngValue)]="type.Id">{{type.Description}}</option>
        </select>
    </ng-template>
</data-table-column>

但是我无法获得价值。我一直说item.CostTypeId属性是不确定的。我可能绑定不正确吗?

1 个答案:

答案 0 :(得分:0)

具有一个不同的ngModel属性,让我们说'modelValue',并在下拉值更改dropdownChange()函数被调用时,将下拉值分配给数据表的selectedRow。

<select class="form-control form-control-sm mt-1"
                [(ngModel)]="modelValue" (change)="dropdownChange(modelValue)"
                [class.is-invalid]="validateCostType(item)">
            <option *ngFor="let type of recoveryCostTypes" [(ngValue)]="type.Id"> 
            {{type.Description}}</option>
</select>

在.ts文件中

modelValue: string;
selectedRow = {};

dropdownChange(value){
  selectedRow.CostTypeId = value;
}