【问题标题】:How do I create select controls in Meteor如何在 Meteor 中创建选择控件
【发布时间】:2013-09-11 00:38:47
【问题描述】:

是否有规范的方法可以在 Meteor 中填充选择控件并将控件设置为基础数据中的现有值? 我已经找到了一种方法来填充选择控件中的“选项”。我仍然需要做的是创建选项,以便选择正确的选项以匹配现有数据。

似乎大多数流星示例都想象相当简单的形式。我必须处理业务数据。我可能有一个记录,其中有子记录......比如说联系电子邮件......所以联系电子邮件的每一行都有一个“电子邮件类型”的选择。想象一下有 2 条联系电子邮件记录……当我显示​​它们时,我需要为正确的选项设置“选定”值。但我找到的唯一例子使用会话变量???存储选定的值...以便可以在布局选择的模板中引用它们。

使用#with 似乎只有一个层次......也就是说,我不能在已经存在的#with 中使用#with

【问题讨论】:

    标签: javascript html meteor


    【解决方案1】:

    被选中的元素需要有这个属性:

    selected="selected"  
    

    (或一些变体 - 刚刚选择工作正常)

    要有条件地包含它,请创建一个模板帮助程序(例如称为 isSelected),根据您的逻辑返回真/假。您的选项的 html 循环将如下所示:

    <option value = "{{value}}" {{#if isSelected}} selected="selected" {{/if}}  >
        {{description}}</option>
    

    作为一种改进,而不是帮助,您可以为每条记录添加一个名为 isSelected 的真/假字段。模板不关心它是字段还是助手。

    对于“使用#with 似乎只有一个层次......也就是说,我不能在已经存在的#with 中使用#with”

    我已经通过对外部对象的引用来修复内部对象,因此两者都可以在嵌套的 with 中访问。例如,要将一个集合的任何/全部与文档相关联,我准备了数据:

    Handlebars.registerHelper 'allSureties', (document) ->
      included = document.sureties or []  # the array that tracks ids for surety recs that this doc has
      _.map _sureties, (sure) ->
        sure.owner = document
        sure.isContained = sure._id in included
        sure.vents = "agent:sureties:#{document._id}:#{sure._id}"  # see you can get both IDs this way
        sure
    

    然后我的模板就是这样使用的(注意你可以访问 owner._id):

    {{#each allSureties this}}
       {{switch value=value 
          fname=nickname 
          group="sureties" 
          on=nickname 
          off=nickname
          object=owner._id
          vents=vents
          _id=_id  }}
     {{/each}}
    

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-02-26
      • 2015-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      • 1970-01-01
      相关资源
      最近更新 更多