【发布时间】:2017-04-11 00:01:44
【问题描述】:
嗨,我有一个应用程序,它的数据从一个页面传递到另一个页面,并分配了预定义的数据对象/数组,我的问题是我可以看到 observableArray 有一个值,然后它将 SelectedPeople 可观察到不明确的。
我已经消除了数据绑定标记,因为当我删除我的可观察数组没有将任何内容设置为未定义时。
以下是我将 observables/observableArray 绑定到元素的方式。
<select data-bind="options: ObservableArray.People, value: ObservableArray.SelectedPeople, optionsText: 'Name'"></select>
ObservableArray.People= 可观察对象数组 - 工作正常并呈现所有下拉选项ObservableArray.SelectedPeople= 可观察的
两者都定义了“名称”对象以匹配optionsText。它在从头开始选择数据时完美运行,但是当我尝试在其中包含预定义数据时,Observable.SelectedPeople 对象在尝试加载时一直以undefined 发送。
基本上我的Observable.SelectedPeople 有一个对象,该对象应该预定义该选择的值,并且该对象100% 匹配下拉列表ObservableArray.People 选项之一。我需要它不要将Observable.SelectedPeople 设置为未定义并填充选择框。
谁能明白为什么会这样。
谢谢
【问题讨论】:
-
从下拉列表中选择一个值后,您应该检查分配给
Observable.SelectedPeople的值。该值应该是在绑定到下拉列表的对象中定义的property。您应该将该属性的值推送到Observable.SelectedPeople。 -
Observable.SelectedPeople 有一个默认值,应该将 Observable.People 填充到设置的那个.. @gkb
-
看看这篇文章,看看
optionsValue属性是如何在选择控件stackoverflow.com/questions/13587230/…中使用的