如何在 jQuery FormBuilder 中添加新的通用属性

How to add new generic attribute in jQuery FormBuilder

我正在使用 jQuery FormBuilder (https://formbuilder.online/),我需要一个自定义属性作为每种类型的复选框。因此,不管它是文本区域、文本输入、复选框还是类似的东西——我总是想添加与新属性相同的复选框。

我的选项是这样的:

options = {
    scrollToFieldOnAdd: false,
    disableFields: ['button', 'file', 'hidden'],
    disabledAttrs: ['access'],
    // Add custom checkbox property to the form
    typeUserAttrs: {
        text: {
            showInGroupDesc: {
                type: 'checkbox',
                label: 'Show in Group Desc.?'
            }
        }
    }
}

这利用了 typeUserAttrs,不幸的是,我必须准确指定要将新属性 showInGroupDesc 添加到其中的字段类型。

我不想 copy/paste 每个类型的 typeUserAttrs 这个元素 - 是否有通配符设置?

通过在将对象 userAttrs 传递给 typeUserAttrs 之前用新属性 newAttributes 初始化一个对象 userAttrs,我自己找到了解决方案:

// New attribute for specified fields 'fields' below
var newAttributes = {
            showInGroupDesc: {
                type: 'checkbox',
                label: 'Show in Group Desc.?'
            }
        };
var userAttrs = {};
const fields = ["autocomplete", "checkbox-group", "date", "number", "radio-group", "select", "text", "textarea"];
fields.forEach(function (item, index) {
    userAttrs[item] = newAttributes;
});

// Initialise the form builder
options = {
    // ... All your options here ...
    typeUserAttrs: userAttrs
  };