Javascript FormBuilder.js:如何从无线组控件继承?
我正在尝试为FormBuilder创建一个新控件,它基本上是一个无线组控件(我的意思是它具有与无线组控件相同的配置),但我需要定义一个自定义build()和onRender()方法 我读了很多次文档,但都没法让它发挥作用,这里有一个简单的例子来说明我正在尝试做什么Javascript FormBuilder.js:如何从无线组控件继承?,javascript,formbuilder,Javascript,Formbuilder,我正在尝试为FormBuilder创建一个新控件,它基本上是一个无线组控件(我的意思是它具有与无线组控件相同的配置),但我需要定义一个自定义build()和onRender()方法 我读了很多次文档,但都没法让它发挥作用,这里有一个简单的例子来说明我正在尝试做什么 if (!window.fbControls) window.fbControls = new Array(); window.fbControls.push(function (controlClass) { class co
if (!window.fbControls) window.fbControls = new Array();
window.fbControls.push(function (controlClass) {
class controlMultipleObjects extends controlClass {
static get definition() {
return {
icon: '\uD83D\uDD89',
i18n: {
default: 'Control Multiple Items'
}
};
}
configure() {
// this.js = '//cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js';
}
/**
* build a text DOM element, supporting other jquery text form-control's
* @return DOM Element to be injected into the form.
*/
build() {
this.dom = this.markup('div', null, {class:'multipleObjectsController', id: this.config.name});
return this.dom;
}
onRender() {
}
}
// register this control for the following types & text subtypes
controlClass.register('multipleObjects', controlMultipleObjects);
return controlMultipleObjects;
});
这基本上是可行的,新控件“multipleObjects”显示在form builder中,但当打开控件的配置时,它只显示“Value”项。我需要显示多个值,就像收音机组、选择或选择组控件一样
有什么想法吗
谢谢 看一看
您需要像这样在formBuilder中传递选项:
const options = {
typeUserAttrs: {
multipleObjects: {
options: {
label: 'Class',
multiple: true,
options: {
'red form-control': 'Red',
'green form-control': 'Green',
'blue form-control': 'Blue'
},
},
},
},
}
$("#fb-editor").formBuilder(options)