2015-12-13 1 views
0

В Aurelia (последняя бета-версия) кто-нибудь попытался привязать элемент select внутри таблицы, где строки привязаны к массиву? Я не думаю, что он работает на начальной загрузке (активировать() событие).Bind Выбрать внутри строки таблицы из массива, не привязывающего к активации.

Вот пример кода:

<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); 
}); 

Остальные свойства, т.е. , текстовый ввод, показать тонкий при загрузке. И тот же вид имеет регулярные выделения за пределами этой таблицы, и все они правильно привязываются к загрузке (т. Е. Показывают правильную опцию выбора на основе значения, которое устанавливается программно).

ответ

1

item.controlId a number? Если да, то, что, вероятно, происходит, сравнивается числовое значение, используя === со строковыми значениями элементов опции. Вы должны убедиться, что значения параметра являются числами:

Вместо <option value="1"> использования <option model.bind="1">

+0

да что сделали это, я на самом деле просто сделал '.ToString()' от значения, поступающего из сервера –