我一直在考虑使用 Angular Schema Form 来为我的项目定义所有表单,但对我来说非常突出的一件事是,当我们定义一个选择/下拉元素时,必须在其中指定值JSON。这并不像我希望从我的 Angular 控制器/工厂检索这些值那样灵活,因为它们目前在范围内可用。
我已经做了很多关于如何解决这个问题的搜索,但还没有找到明确的解决方案或任何对我有用的东西,所以我决定尝试自己扩展 Select 并将映射添加到schemaFormDecoratorsProvider
.
我遵循了Extending Schema Form的文档,现在有一个 HTML 片段定义了我的 Select 控件,当我在我的 JSON 模式中定义它时,它正在呈现。我想要做的是通过 JSON 模式部分地指定 ng-options 属性。我试图这样做,但似乎没有任何结果会导致呈现选择选项。
这是我的选择控件的一部分:
<select ng-model="$$value$$"
ng-model-options="form.ngModelOptions"
sf-changed="form"
schema-validate="form"
ng-options="item.value as item.name for item in form.titleMap"
ng-disabled="form.readonly">
</select>
在定义 ng-options 的地方,我希望能够在我的 JSON 中指定 titleMap 并将其解析为我范围内的一个对象,或者我可以在我的 JSON 中传递集合的名称,然后将其传递到form.titleMap
当前所在的位置。
有人有这样做的经验吗?对我来说,这似乎是一个相当合理的要求,但在网上找不到太多关于它的帮助。
非常感谢。