我可以在不直接更新模型的主干表单中拥有表单控件吗?

Posted

技术标签:

【中文标题】我可以在不直接更新模型的主干表单中拥有表单控件吗?【英文标题】:Can I have form controls in backbone-forms that don't update the model directly? 【发布时间】:2015-03-12 04:54:45 【问题描述】:

我以前从未使用过backbone.js,我正在尝试使用backbone-forms 创建一个表单,当调用它的提交函数并更新模型时,它只会更新模型中的某些字段和/或计算将表单字段中的值放入模型的不同字段中。

这是我的代码中的一个示例。

queryForm = new Backbone.Form( 模型:查询模型, submitButton: "提交", 架构: 开始日期:类型:'文本',标题:“日期”, 收音机范围:类型:“收音机”, 标题:“日期方法”, 选项: value1:“开始和结束”,value2:“分钟范围”, end_date:类型:'文本',标题:“范围(分钟)”, firewall_ip: type: 'Text', title: "防火墙 IP" , firewall_port: type: 'Text', title: "防火墙端口" )。使成为();

当用户将收音机更改为“分钟范围”时,我想将 start_date 框更改为日期框,并让 end_date 框成为范围。当使用 commit 函数提交表单时,我仍然想使用日期和范围来创建实际放入模型中的开始和结束日期,而不是它当前所做的,即放入什么的值直接在模型中的框。实现这一目标的最佳方法是什么?我应该覆盖这个特定类的提交函数吗?还是我不应该使用骨干形式,而只使用带有模板和事件的骨干?

【问题讨论】:

【参考方案1】:

是的,覆盖表单实例的 commit() 方法应该可以工作。否则你也可以重写 getValue() 方法。

关于根据其他值更改来更改输入,自述文件中有一个演示链接。

【讨论】:

以上是关于我可以在不直接更新模型的主干表单中拥有表单控件吗?的主要内容,如果未能解决你的问题,请参考以下文章

我可以以编程方式触发淘汰视图模型更新吗?

我可以在不执行合并的情况下从主干更新分支吗?

仅设置表单提交时输入的字段的主干模型属性

主干更新视图

是否可以在不使用 OneUI(特别是 Dojo 表单控件)的情况下使用扩展库?

我可以在不使用 Django 表单的情况下构建我的表单吗?