【发布时间】:2021-10-22 04:20:23
【问题描述】:
我正在使用 Angular。
我有一个有两列的表。第一列的每个单元格都是一个序列号。第二列的每个单元格都是序列号的下拉列表。我正在绑定到组件中的数据源,它工作正常。
我的数据源是我的组件中的一个简单的硬编码数组(我有多少我喜欢的元素,这里我只展示一个):
toolSeries = {
"Series": "12345678A",
"Serials" : ["123321", "123321", "54654", "357", "386758"],
}
我的绑定是这样的:
<tr *ngFor='let tools of toolSeries' height="50px">
<td class="tableEntryText">{{tools.Series}}</td>
<td class="tableEntryText">
<select class="noBorder additionalSelectStyle" name="filter_for" (change)="OnSerialChanged($event.target)">
<option *ngFor = 'let serial of tools.Serials'>
{{serial}}
</option>
</select>
</td>
<tr>
一切都好,工作正常。
现在我需要添加以下内容:每个工具序列都可以有一个“状态”。所以我像这样修改我的数据结构:
toolSeries = [
{
"Series": "12345678A",
"Serials" : ["199921", "123321", "54654", "357", "386758"],
"State": ["OK","BAD","BAD","UNKNOWN", "OK"]
},
所以,我在我的 HTML 表中添加了另一列,现在我的代码变为:
<tr *ngFor='let tools of toolSeries' height="50px">
<td class="tableEntryText">{{tools.Series}}</td>
<td class="tableEntryText">
<select class="noBorder additionalSelectStyle" name="filter_for" (change)="OnSerialChanged($event.target)">
<option *ngFor = 'let serial of tools.Serials'>
{{serial}}
</option>
</select>
</td>
<td class="tableEntryText">
<label class="labelAdjust">{{series.State[0]}}</label>
</td>
</tr>
现在,{{series.State[0]}} 将意味着新字段始终显示每个序列的第一个状态的值。
问题:我应该如何编写绑定,以便字段的状态将反映在下拉列表中选择的序列的状态?例如,当用户从下拉列表中选择“123321”时,我的新列的单元格应显示“BAD”而不是“OK”。
感谢您的帮助。
【问题讨论】:
标签: html angular typescript data-binding