在数组的 table 行内绑定 Select 未在激活时绑定
Bind Select inside of table row from array not binding on activate
在 Aurelia(最新的测试版)中,有没有人尝试在行绑定到数组的 table 中绑定 select 元素?我认为它不适用于初始加载(activate() 事件)。
示例代码如下:
<tbody>
<tr repeat.for="item of variations">
<td>
<input type="text" class="form-control input-sm" value.bind="item.name" />
</td>
<td>
<select class="form-control input-sm" value.bind="item.controlId">
<option>Select...</option>
<option value="1">DropdownList</option>
<option value="2">RadioList</option>
<option value="3">Checkboxes</option>
</select>
</td>
</tr>
</tbody>
在 viewmodel 中,变体列表在 activate() 事件中是这样构建的:
this.variations.forEach(v => {
let variation = new Variation();
variation.value = v.value;
variation.text = v.text;
variation.control = v.displayType;
self.variations.push(variation);
});
其余属性,即。文本输入,加载时显示良好。并且同一视图在此 table 之外具有常规 selects,并且它们都在加载时正确绑定(即,根据以编程方式设置的值显示正确的 select 选项)。
item.controlId
是一个数字吗?如果是这样,可能发生的情况是使用 ===
将数值与选项元素的字符串值进行比较。您需要确保选项值是数字:
而不是 <option value="1">
使用 <option model.bind="1">
在 Aurelia(最新的测试版)中,有没有人尝试在行绑定到数组的 table 中绑定 select 元素?我认为它不适用于初始加载(activate() 事件)。
示例代码如下:
<tbody>
<tr repeat.for="item of variations">
<td>
<input type="text" class="form-control input-sm" value.bind="item.name" />
</td>
<td>
<select class="form-control input-sm" value.bind="item.controlId">
<option>Select...</option>
<option value="1">DropdownList</option>
<option value="2">RadioList</option>
<option value="3">Checkboxes</option>
</select>
</td>
</tr>
</tbody>
在 viewmodel 中,变体列表在 activate() 事件中是这样构建的:
this.variations.forEach(v => {
let variation = new Variation();
variation.value = v.value;
variation.text = v.text;
variation.control = v.displayType;
self.variations.push(variation);
});
其余属性,即。文本输入,加载时显示良好。并且同一视图在此 table 之外具有常规 selects,并且它们都在加载时正确绑定(即,根据以编程方式设置的值显示正确的 select 选项)。
item.controlId
是一个数字吗?如果是这样,可能发生的情况是使用 ===
将数值与选项元素的字符串值进行比较。您需要确保选项值是数字:
而不是 <option value="1">
使用 <option model.bind="1">