[英]How to add custom attributes to AlloyUI form builder?
我想做類似此jsfiddle示例的操作 ,我需要在左側面板屬性上放置一些自定義屬性。 下面我嘗試做類似的事情,但我不能拖動字段
YUI().use('aui-form-builder',function (Y) {
Y.MyFormCustom = Y.Component.create({NAME:'form-node',
ATTRS: {
type: {
value: 'custom'
},
customAttr: {
validator: Y.Lang.isString,
value: 'A Custom default'
}
},
EXTENDS: Y.FormBuilderFieldBase,
prototype: {
getPropertyModel: function () {
var instance = this;
var model = Y.FormBuilderFieldBase.superclass.getPropertyModel.apply(instance, arguments);
model.push({
attributeName: 'customAttr',
name: 'Custom Attribute'
});
return model;
}
}
});
Y.FormBuilder.types['custom'] = Y.MyFormCustom;
var availableFields = [
{
iconClass: 'form-builder-field-icon-button',
label: 'Button',
type: 'custom'
}
];
myform= new Y.FormBuilder({
availableFields: availableFields,
boundingBox: '#myHolder'
}).render();
我不知道為什么表格沒有出現。 任何幫助將不勝感激。
您的示例對我很有幫助,因為我還需要擴展“表單構建器”字段。
上面的解決方法很簡單。 替換行:
Y.FormBuilder.types['custom'] = Y.MyFormCustom;
通過
Y.FormBuilderField.types['custom'] = Y.MyFormCustom;
該解決方案的靈感來自Alloy UI API中的源代碼。 參見鏈接: AlloyUI Form Builder
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.