0

使用 emberjs,我使用 Em.Select 显示由通过 AJAX 检索的 JSON 填充的选项列表。

{{view Em.Select
    valueBinding="profile"
    contentBinding="App.profiles"
    selectionBinding="profile"
    optionValuePath="content.id"
    optionLabelPath="content.name"
    prompt="Please select a profile"}}

在创建表单中使用时,它按预期工作,但是在编辑表单中时,该值不会自动被选中。

这会导致问题,因为我有 3 个选择输入链,这些输入依赖于预览列表中选择的选项。

谁能解释在填充 JSON 列表之前如何防止选项选择?

解决了:

谢谢您的帮助。我最终让它工作的方式是将选择视图包装在一个 if 语句中,如下所示:

 {{#if App.Profiles}}
     {{view Em.Select
         valueBinding="profile"
         contentBinding="App.profiles"
         selectionBinding="profile"
         optionValuePath="content.id"
         optionLabelPath="content.name"
         prompt="Please select a profile"}}
 {{/if}}

kroofy 建议我将它包装在一个观察 isLoaded 属性的 if 语句中,但由于我的配置文件对象没有,我尝试检查 App.Profiles 并且它有效。

4

1 回答 1

1

可能您可以将其包装在条件中。这样它只在加载配置文件时显示选择。

{{#if App.profiles.isLoaded}}
    {{view Em.Select
        valueBinding="profile"
        contentBinding="App.profiles"
        selectionBinding="profile"
        optionValuePath="content.id"
        optionLabelPath="content.name"
        prompt="Please select a profile"}}
{{/if}}

或者您只需要将 id 添加到 valueBinding。

valueBinding="profile.id"
于 2013-09-03T12:03:25.433 回答