ExtJS复合字段

ExtJS复合字段,extjs,extjs4,extjs4.2,Extjs,Extjs4,Extjs4.2,让我解释一下我的情况: 我有一个模型,里面有数组字段 Ext.define('MyModel',{ extend: 'Ext.data.Model', fields: [ { name: 'myfield', type: 'array' } ] }) 它包含这样的数据 data = Ext.create('MyModel',{ myfield: [ 'one', 'two', 'three', 'four' ] }) 我想扩展Ext.form.field.Base以创

让我解释一下我的情况:

我有一个模型,里面有数组字段

Ext.define('MyModel',{
  extend: 'Ext.data.Model',
  fields: [
    { name: 'myfield', type: 'array' }
  ]
})
它包含这样的数据

data = Ext.create('MyModel',{
  myfield: [ 'one', 'two', 'three', 'four' ]
})
我想扩展
Ext.form.field.Base
以创建将此数组视为待办事项列表并在其内部包含项目的字段(
Ext.form.field.Trigger
以添加“待办事项”和
Ext.ListView
以显示“待办事项”)

我不知道让
Ext.form.field.Base
包含项目有多困难,是否有更好的解决方案

字段必须在
loadRecord()
上获取数组,并在表单的
getRecord()
上提供它

我看到的其他可能的解决方案:

1) 仅使用html模板和香草javascript创建字段(不好,因为为什么要实现ExtJS中已经存在的东西)

2) 模型关系(不好,因为我必须为每个相关模型实现“创建、更新和删除”,并手动加载它们)


感谢您的阅读,欢迎有任何想法

与您的问题没有直接关系,但“array”不是Ext.data.field的有效字段类型。使用“自动”不进行数据转换,或者不指定类型

Re:自定义的复杂表单字段,当然可以使用ExtJS,创建触发器字段的扩展肯定是您想要做的。下面是处理复杂数据的自定义触发器字段的示例:。该示例适用于自定义特性网格,但原则与任何自定义表单字段相同

自定义字段中最重要的部分将是方法的实现以及为设置基础字段的值而定义的任何机制


希望这能为您提供一个良好的起点。

与您的问题没有直接关系,但“array”不是Ext.data.field的有效字段类型。使用“自动”不进行数据转换,或者不指定类型

Re:自定义的复杂表单字段,当然可以使用ExtJS,创建触发器字段的扩展肯定是您想要做的。下面是处理复杂数据的自定义触发器字段的示例:。该示例适用于自定义特性网格,但原则与任何自定义表单字段相同

自定义字段中最重要的部分将是方法的实现以及为设置基础字段的值而定义的任何机制

希望这能给你一个好的开始