У меня есть список атрибутов с различным типом данных, если тип данных является флажком, тогда я хотел бы привязать значение в строке к флажку. Мне удалось привязать значение из базы данных к пользовательскому интерфейсу. Но если есть какая-либо модификация значения, я не смог бы вернуть его из списка. Может ли кто-нибудь посоветовать это?KnockoutJS Dynamic CheckBox Binding
Спасибо.
код UI
<tbody data-bind="foreach: data().Attributes">
<tr>
<th data-bind="text: AttributeName"></th>
<td>
<span data-bind="if: AttributeDataType === 'CheckBox'">
<input class="input-sm" type="checkbox" data-bind="value: AttributeValue, checked: $parent.ConvertToBoolean(AttributeValue), visible: $parent.editMode() " />
</span>
<span data-bind="if: AttributeDataType === 'Text'">
<input class="input-sm" type="text" data-bind="value: AttributeValue, visible: $parent.editMode() " style="min-width: 300px;" />
</span>
<span data-bind="if: AttributeDataType === 'DropDown'">
<select class="selectpicker" data-bind="options: $parent.availableTestProgramType, value: AttributeValue, visible: $parent.editMode() "></select>
</span>
</td>
</tr>
</tbody>
Script
public data = ko.observable<any>([]);
public ConvertToBoolean = (x: string) => {
return x == "true" ? true : false; }
ли 'AttributeValue' объявлен как наблюдаемый? – Neps
Привет, Neps, данные объявлены как наблюдаемые. Нужно ли объявлять AttributeValue как наблюдаемое отдельно? Благодарю. –
Да, если вы хотите «захватить его из списка». В противном случае это просто односторонняя привязка к пользовательскому интерфейсу – Neps