AutoForm.getFieldValue 用于数组字段
AutoForm.getFieldValue for array fields
我有一个架构声明为:
JobSchema = new SimpleSchema({
responsibilities: {
type: [String],
optional: true
},
'responsibilities.$': {
min: 2,
autoform: {
afFieldInput: {
class: 'form-control'
},
placeholder: 'E.g. "Build tools according to specifications"'
}
}
});
我还有一个 UI 助手声明为:
Template.registerHelper('currentFieldValue', function (fieldName) {
return AutoForm.getFieldValue('insertJobForm', fieldName) || '';
});
我有一个模板,我在其中使用此助手生成表单预览。它对除数组字段之外的所有字段都有效。什么都没有被渲染。有什么想法吗?
{{# if currentFieldValue "responsibilities"}}
<h3>Responsibilities</h3>
{{{currentFieldValue "responsibilities"}}}
{{/if}}
快速而肮脏的解决方法:
job_create.js
Template.jobCreate.helpers({
responsibilities: function() {
var formData = AutoForm.getFormValues('insertJobForm');
return formData.insertDoc.responsibilities || [];
}
});
job_create.html
{{# if responsibilities}}
<h3>Responsibilities</h3>
{{responsibilities}}
{{/if}}
我有一个架构声明为:
JobSchema = new SimpleSchema({
responsibilities: {
type: [String],
optional: true
},
'responsibilities.$': {
min: 2,
autoform: {
afFieldInput: {
class: 'form-control'
},
placeholder: 'E.g. "Build tools according to specifications"'
}
}
});
我还有一个 UI 助手声明为:
Template.registerHelper('currentFieldValue', function (fieldName) {
return AutoForm.getFieldValue('insertJobForm', fieldName) || '';
});
我有一个模板,我在其中使用此助手生成表单预览。它对除数组字段之外的所有字段都有效。什么都没有被渲染。有什么想法吗?
{{# if currentFieldValue "responsibilities"}}
<h3>Responsibilities</h3>
{{{currentFieldValue "responsibilities"}}}
{{/if}}
快速而肮脏的解决方法:
job_create.js
Template.jobCreate.helpers({
responsibilities: function() {
var formData = AutoForm.getFormValues('insertJobForm');
return formData.insertDoc.responsibilities || [];
}
});
job_create.html
{{# if responsibilities}}
<h3>Responsibilities</h3>
{{responsibilities}}
{{/if}}