我在 ng-admin 上定义了一个自定义字段来上传文件。我在这里使用文档。
我包括存储库管理员配置。
如下定义我的 CustomeFileField:
import Field from "./admin-config/lib/Field/Field.js";
class CustomFileField extends Field {
constructor(name) {
super(name);
this._type = 'customfile';
this._id = undefined;
this._entity_field = undefined;
this._upload_information = {};
}
uploadInformation(baseUrl) {
if(!argument.length) return this._upload_information;
if(typeof this._id === 'undefined') {
throw new Error('You must provide a valid id for the entity');
}
this._upload_information = {
'url': baseUrl + 'fr/media/upload?ref_id='+ this._id +'&ref=OpnRecipeBundle\\Entity\\Recipe',
'apifilename': 'files'
};
return this;
}
// value of the entity id
id(value) {
if(!argument.length) return this._id;
this._id = value;
return this;
}
//name of the field in the entity id
entityField(value) {
if(!argument.length) return this._entity_field;
this._entity_field = value;
return this;
}
}
export default CustomFileField;
我根据文档定义了相应的视图。
我用当前注册两个:
nga.registerFieldType('customfile', require('./CustomFileField.js'));
fvp.registerFieldView('customfile', require('./CustomFileFieldView.js'));
然后我将我的新定义类型称为:
nga.field('itsname','customfile');
尽管如此,在正确转换所有内容后,我还是遇到了当前错误:
错误:[$injector:modulerr] 无法实例化模块 opnAdmin 由于:this._fieldTypes[t] 不是构造函数
仔细记录事物时,字段 typeTypes 集合似乎有许多条目,每种类型一个,对于本机 ng-admin 类型,它是一个函数,但对于我的新定义类型('customfile'),它是一个对象,因此取消新的运算符会抛出错误。那些人有什么解决办法吗?