4

「挿入」フォームでフィールドのデフォルト値を渡す方法は?

Meteor のパッケージ (Autoform、Collections2、Simple-Schema) を使用しています。

私のプロセスは次のとおりです。

  1. ユーザーがページのリストで値を選択すると、
  2. 「挿入」から開き、その 1 つのフィールドを、ユーザーが前のステップで選択した値で初期化する必要があります。

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;
        }
    });
    ...

=============== models/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');
    }
});
...

================ templates/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. 目的の値を返すヘルパーに等しい値を設定できます ({{> afQuickField name="tag" value=valueHelper}})
  2. リスト項目 doc を、必要な値に設定されたオブジェクトに設定できます。更新フォームの場合と同じように。

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

于 2014-06-12T15:30:32.680 に答える