Вы сталкиваетесь с общей ошибкой при использовании optionsValue
вместе с value
.
Когда вы указываете оба, значение свойства, ограниченного optionsValue
, будет заполнять объект, ограниченный value
.
Проблема в том, что Knockout не может знать, как использовать это значение для получения объекта из ограниченного options
.
Таким образом, если вы используете оба, вы должны привязать вычисляемую наблюдаемую (или простую функцию) к value
, чья работа состоит в том, чтобы извлекать (откуда угодно) правильный объект.
См. Здесь пример .
РЕДАКТИРОВАТЬ:
Пожалуйста, прочитайте options
документация , прежде чем идти вперед, иначе следующее не поможет вам.
Код, который вы добавили, имеет несколько проблем. Основная проблема заключается в том, что это не код, который определяет вашу модель представления, поскольку я не вижу в ней WorkFlowsNameList
.
Итак, я предполагаю, что у вас где-то есть этот код, и я назову его viewModel
в этом отношении. Именно там вы должны добавить новый код:
function viewModel(items) {
var self = this;
self.WorkFlowsNameList = ko.observableArray(items);
self.WorkFlow_ID = ko.observable();
self.selectedOption = ko.computed(function(){
return ko.utils.arrayFirst(self.WorkFlowsNameList, function(item){
return item.ID === self.WorkFlow_ID();
});
});
}