【发布时间】:2018-02-20 12:15:04
【问题描述】:
给定一个通过“with”绑定到可观察对象的元素,我如何在可观察对象为“未定义”时显示占位符元素?
我要解决的具体问题是一个选项绑定,它通过“with”绑定依赖于第二个父选项绑定的选定值。虽然未选择父选项绑定,但 DOM 中甚至不存在子选择列表。这对用户来说看起来很奇怪,因为在他们从父下拉列表中进行第一次选择之前存在间隙,然后才会出现子下拉列表。
代码如下所示:
<select data-bind="options: parents,
optionsText: 'name',
value: selectedParent,
optionsCaption: 'Select parent'"></select>
<div data-bind="with: selectedParent">
<select data-bind="options: children,
optionsText: 'name',
value: selectedChild,
optionsCaption: 'Select child'"></select>
</div>
在用户从父选择中进行选择之前,我的 UI 中会出现一个洞,子选择将出现在该处。
我理解为什么会发生这种情况,因为当 Knockout 为“未定义”时,应该在子选项中显示什么?不过,我正在寻找一种解决方法来使 UI 看起来不错。
【问题讨论】:
标签: knockout.js