首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Backbone-Forms -更改选择选项的最佳方式

Backbone-Forms -更改选择选项的最佳方式
EN

Stack Overflow用户
提问于 2014-07-30 03:54:35
回答 1查看 709关注 0票数 1

我正在寻找一种按需更改选择选项的最佳方法。我知道,我可以通过在表单字段上使用setOptions方法来交换选项,但在我的情况下这并没有帮助。最好在创建表单之前更改选项。

在我的模型中,我有许多具有相似模式的字段:

代码语言:javascript
复制
field:{type:"Select",title:"", validators: ['required'], options:new App.Collections.SomeCollection()}

比方说,我需要创建表单,并且我不想让SomeCollection的所有元素都作为选择选项。我只需要很少的几个,而且我可以拿到那个集合,这没问题。有没有办法在创建Backbone Forms实例之前交换选项?我已经试过了,但到目前为止还没有成功。我已经第二次遇到这个问题了,我已经手动创建了select (在Backbone Forms引擎之外,所以没有使用data-field属性),然后还手动插入了选项,但我相信还有更好的想法。

谢谢你的任何想法!

EN

回答 1

Stack Overflow用户

发布于 2014-07-30 05:52:37

使用您的集合的过滤版本。不是将field.options传递给负责映射和呈现选项的对象,而是传递集合的过滤版本。

代码语言:javascript
复制
var filteredOptions = field.options.filter(function (optionModel) {
    // Some filter boolean check (true adds it to filteredOptions).
    return optionModel.get('key') !== 'UK';
});

每次需要使用集合的新筛选版本重新呈现select时,都会执行此操作。

附注:过滤器来自underscore

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25023813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档