使用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列表之前阻止选项选择吗?
感谢您的帮助。我最终使用它的方法是将select视图包装在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建议我将它包装在一个if语句中,该语句观察到了一个isLoaded属性,但由于我的配置文件对象没有我试过检查App.Profiles并且它有效。
答案 0 :(得分: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"