2016-06-07 44 views
0

我正在尝试编写自定义类型以创建级联下拉列表。 我从定义一个新的自定义类型扩展引用类型开始。 问题是无论我在类体内写什么,组件都不会显示出来,并且没有错误。 这是新的领域类:在ng-admin中创建CustomType会自动失败

import ReferenceField from "admin-config/lib/Field/ReferenceField"; 

class CascadeParentField extends ReferenceField { 
constructor(name) { 
     super(name); 
     this._type = 'cascade_parent'; 
     this._cascadeReference = null; 
    } 
} 
export default CascadeParentField; 

和成对的FieldView类:

export default { 
    getReadWidget: () => '<ma-reference-column field="::field" value="::value" datastore="::datastore"></ma-reference-column>', 
    getLinkWidget: () => '<ma-reference-link-column entry="::entry" field="::field" value="::value" datastore="::datastore"></ma-reference-link-column>', 
    getFilterWidget:() => '<ma-reference-field field="::field" value="value" datastore="::datastore"></ma-reference-field>', 
    getWriteWidget: () => '<ma-reference-field field="::field" value="value" datastore="::datastore"></ma-reference-field>' 
}; 

虽然在main.js:

myApp.config(['NgAdminConfigurationProvider', 'FieldViewConfigurationProvider', function(nga, fvp) { 
    nga.registerFieldType('cascade_parent', require('./types/CascadeParentField')); 
    fvp.registerFieldView('cascade_parent', require('./types/CascadeParentFieldView')); 
}]); 

任何想法?我试图调试,但没有发现任何问题......

回答

0

的nga.registerFieldType使用要求可能会产生一个异常“CascadeParentField”不是一个构造函数,所以你应该做的,而不是进口:

import CascadeParentField from './types/CascadeParentField.js'; 
... 
myApp.config(['NgAdminConfigurationProvider', 'FieldViewConfigurationProvider', function (nga, fvp) { 
nga.registerFieldType('cascade_parent', AmountType); 
... 
} 

除此之外,我的猜测是,文件正在打破,因为这是不是说有,但我发现它在另一个SO后:

ng-admin does not recognize custom field view

顺便说一句我有同样的问题(不能够o做一个自定义的字段视图)。