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

时间:2018-01-16 06:02:30

标签: javascript jquery meteor semantic-ui iron-router

我有一个集合,根据登录用户存储默认值。我有一个设置菜单,用户可以为应用程序设置默认值。我们如何将该设置菜单的下拉列表设置为每次用户先前设置的默认值,以及如何设置默认会话值。我正在使用语义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>

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

2 个答案:

答案 0 :(得分:1)

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

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

你需要找到一种方法来从你收集的东西中获取你的价值。

答案 1 :(得分:0)

我认为你应该使用助手才能很好地实现这一目标。

在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();
  }
})