4

如何以“插入”形式传递字段的默认值?

我正在使用 Meteor 的包:Autoform、Collections2 和 Simple-Schema。

我的流程是:

  1. 用户在页面上的列表中选择某个值,然后
  2. 来自的“插入”打开,我希望使用用户在上一步中选择的值来初始化该字段。

无法弄清楚如何通过 URL(或任何其他方式)传递参数。问题是如何用该值初始化表单。

假设我有一个 URL:

http://localhost:3000/activity/new/Sport

=============== router.js:

...
Router.map(function () {
    ...
    this.route('newActivity', {
        path: '/activity/new/:tag',
        data: function() {
            Session.set('tag', this.params.tag);
            return null;
        }
    });
    ...

===============模型/activity.js

...
Activities = new Meteor.Collection("activities", {
    schema: {
        title: {
            type: String,
            label: 'название'
        },
        ...
        tag: {
            type: String,
            label: 'тэг'
        }
    }
});

================ 模板/avtibity.js

...
Template.newActivity.helpers({
    defaultTag: function() {
        return Session.get('tag');
    }
});
...

================模板/activity.html

...
<template name="newActivity">
    <h1>Create new Activity!</h1>
    {{#autoForm collection="Activities" id="insertActivityForm" type="insert"}}
        {{> afQuickField name="title"}}
        ...
        {{> afQuickField name="tag" value="   ??????    "}} // ? {{defaultTag}}
        ho ho ho {{defaultTag}}
    {{/autoForm}}
</template>

```

4

1 回答 1

8

感谢 Eric Dobbertin:

  1. 您可以将 value 设置为返回所需值的帮助程序 ({{> afQuickField name="tag" value=valueHelper}})
  2. 列表项 您可以将 doc 设置为一个对象,该对象的值设置为您想要的值。就像您需要更新表格一样。

https://github.com/aldeed/meteor-autoform/issues/210

于 2014-06-12T15:30:32.680 回答