Я пытаюсь заполнить поле «Выбрать», используя опцию привязки данных для выбивки, для списка значений и установить одно из значений как «выбранное» по умолчанию.
Есть два запроса к серверу,
- Получить список значений (dataRepository.GetLifelines)
- Установите одно из значений, выбранных из списка. (DataRepository.GetMockSelectedLifeline)
Первое требование выполнено. привязка данных к выбору работает нормально со значением «Выбрано».
У меня проблема с установкой по умолчанию «Выбранное значение» в списке . Может кто-нибудь, пожалуйста, помогите мне. метод this.selectValue . Он пытается установить selectedLifeline на соответствующее «Имя».
function LifelineViewModel() {
this.lifelines = ko.observableArray([{}]);
this.selectedLifeline = ko.observable();
this.updateData = function (data) {
var boundUpdate = bind(function (value) {
this.lifelines.push(value);
}, this);
$.each(data, function (index, item) {
boundUpdate(item);
});
dataRepository.GetMockSelectedLifeline(bind(this.selectValue, this));
}
this.selectValue = function (data) {
this.selectedLifeline = ko.utils.arrayFirst(this.lifelines, function (lifeline) {
return lifeline.Name === data.Name;
});
}
}
LifelineViewModel.prototype.Init = function () {
var boundUpdateData = bind(this.updateData, this);
dataRepository.GetLifelines(boundUpdateData);
}
var bind = function (func, thisValue) {
return function () {
return func.apply(thisValue, arguments);
}
}