#knockout.js
#knockout.js
Вопрос:
Я знаю, что, вероятно, для этого сценария нет большого варианта использования, но мне интересно, есть ли способ переключить свойство valueAllowUnset в списке выбора? Есть один экземпляр, в котором я хочу разрешить установку значения параметра, которого нет в моем выпадающем списке, поэтому я хотел бы включить его и установить значение, когда этот экземпляр имеет значение true.
Ответ №1:
Да, вы можете это сделать. Нет причин, по которым вы не могли бы просто сохранить логическую переменную в своей viewmodel и ссылаться на нее в своей привязке, например:
<select data-bind="
options: options,
value: selected,
valueAllowUnset: allowUnset()">
</select>
(Вам нужно развернуть переменную вручную, так как KO не сделает этого за вас.)
Когда allowUnset
значение true, вы можете установить selected
значение, которого нет в options
массиве; когда оно равно false, изменение отклоняется.
Скрипка для демонстрации: https://jsfiddle.net/thebluenile/jvz3m261 /