2

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

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

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

4

1 回答 1

0

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

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

希望这可以帮助。

于 2013-09-07T11:06:41.377 回答