AutoForm 自定义字段对象数组

AutoForm custom field Array of Objects

我有一个用户架构,用户可能有一个团队列表,如本部分所示:

"teams": {
  type: [Object],
  optional: true,
  autoform: {
    label: "Teams",
    'label-type': 'stacked',
    afFieldInput: {
        type: "tokenInput"
    }
  }
},
"teams.$.name": {
  type: String,
  optional: true,
  autoform: {
    ommit: true
  }
},
"teams.$.address": {
  type: String,
  optional: true,
  autoform: {
    ommit: true
  }
},

我想使用我使用 jQuery 令牌输入创建的简单自定义字段:

AutoForm.afTeams("tokenInput", {
  template: "afTokenInput",
  valueOut: function () {
    return $("#tokenInput").tokenInput('get');
  }
});

Template.afTeams.rendered = function() {
    token();
    function token() {
        $("#tokenInput").tokenInput('/api/teams/?q', {
            onReady: function() {
                console.log('Ready...');
            },
            preventDuplicates: true,
            minChars: 3,
            propertyToSearch: 'name'
        });
    }
}

模板:

<template name="afTokenInput">
    <input id="tokenInput" class="token" type="text" />
</template>

我只想显示 jQuery 令牌输入,用于团队字段,然后在提交时 return 一个对象数组。

仅当架构中的团队类型为字符串时,我的模板才会呈现,但对于对象数组,它呈现标准的 afArrayField 和 afObjectField。

http://i.stack.imgur.com/MsxIK.png

有没有办法覆盖它?至:

http://i.stack.imgur.com/VNFGe.png

这可能有效:

afQuickField: {
  type: "tokenInput"
}

并确保在 "name" 和 "address" 字段中使用 "omit" 而不是 "ommit"

我必须将类型放入自动表单对象中:

"teams": {
  type: [Object],
  optional: true,
  autoform: {
    type: "tokenInput",
    label: "Teams",
    'label-type': 'stacked'
  }
},

并将{{atts}}放在模板的某处以触发valueOut:

<template name="afTokenInput">
    <input type="hidden" {{atts}} />
    <input id="tokenInput" class="token" type="text" />
</template>