2013-05-29 98 views
1

讓我解釋一下我的情況:ExtJS的複合材料領域

我有陣場模型裏面

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()並在Form的getRecord()上給出它。

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

1)進行實地僅使用HTML模板和香草的javascript(不好,因爲爲什麼要實現的東西已經存在於ExtJS的)

2)模型的關係(不好,因爲我必須爲每個相關模型實施「創建,更新和刪除」並手動加載它們)

感謝您閱讀,歡迎任何想法!

回答

1

與您的問題沒有直接關係,但「數組」不是Ext.data.Field的有效字段類型。使用'自動'進行數據轉換,或者不分配類型。

Re:自定義,複雜的表單字段,ExtJS當然可以,創建Trigger字段的擴展名肯定是您想要做的。以下是處理複雜數據的自定義觸發器字段的示例:http://existdissolve.com/2012/12/extjs-4-custom-editor-for-property-grid/。該示例適用於自定義屬性網格,但原則對於任何自定義表單字段都是相同的。

自定義字段中最重要的部分將是createPicker()方法的實現以及您爲設置基礎字段的值而定義的任何機制。

希望這給你一個開始的好地方。