如何在流星中设置默认会话和下拉值?

How to set default session and dropdown values in meteor?

我有一个集合,它根据登录用户存储默认值。我有一个设置菜单,用户可以在其中为应用程序设置默认值。我们如何每次都将该设置菜单的下拉菜单设置为用户先前设置的默认值,以及如何设置默认会话值。我正在使用语义 UI 和 isron 路由器,我试图从 .onRendered() 中的集合中获取默认值,但输出将是 Values:

Template.header.onRendered (function(){
    var defaultSettingValues=defaultSetting.find().fetch()
    console.log ("Values: "+defaultSettingValues);
});

设置菜单中的下拉菜单:

<div class="ui selection dropdown button" id="defaultDrop" tabindex="0">
    <input type="hidden" name="filter">
    <div class="default text">Select from here</div>
    <i class="right floated dropdown icon"></i>
    <div class="menu" tabindex="-1">            
        <div class="item" data-value="objId1">abc</div>                                     
        <div class="item" data-value="objId2">def</div>                                     
        <div class="item" data-value="objId3">hij</div>                                     
    </div>
</div>

我正在尝试从集合中获取默认设置值,然后设置会话并设置默认下拉列表。
我该如何解决这个问题?还是有其他方法可以实现这一目标?

好的,您可以使用以下代码设置下拉菜单的默认值:

Template.header.onRendered (function(){
    // Care because it returns an array, and you just need the default value
    var defaultSettingValues=defaultSetting.find().fetch(); 

    // Supposing the defaultSettingValues is equals to 'objId1'
    $('#defaultDrop').dropdown('set selected', defaultSettingValues);
});

您需要找到一种方法来从返回您的 collection 的内容中获取您的价值。

我认为您应该使用帮助器以更好地实现这一目标。

在Html模板中

<template name="The_template">
    <div class="ui selection dropdown button" id="defaultDrop" tabindex="0">
            <input type="hidden" name="filter">
            <div class="default text">Select from here</div>
            <i class="right floated dropdown icon"></i>
            <div class="menu" tabindex="-1">
                {{#each option in options}}
                   <div class="item" data-value="objId1">{{option.someData}}</div>                                     
                {{/each}}                                    
           </div>
    </div>
</template>

然后在javascript模板中

Template.The_template.helpers({
  options() {
    return Collection.find();
  }
})