【发布时间】:2016-09-18 09:31:41
【问题描述】:
我将 Meteor 与 autoForm / quickForm 结合使用。我有收藏,在这个例子中我们称之为“运动”。该集合使用下拉列表(autoForm 中的allowedValues)询问用户本周完成了哪些运动。现在如果用户选择跑步,我想显示“距离”、“区域”等。如果用户选择篮球,我可能想显示“投篮次数”等。
我应该怎么做?创建多个集合或 SimpleSchema,还是有不同的首选方法?在谷歌上找不到任何东西,但我相信这不是一个不常见的问题。如果有人有更多信息的链接,已经非常感谢了。
更新:
我正在使用“每个”循环来遍历我之前定义的所有可能的运动。您认为为每种不同的运动创建一个表单项更有意义吗?如果是这样,我如何确保在架构中正确配置它?提前谢谢!
{{#autoForm collection="Sports" type="update" doc=this id="FieldValueIsForm"}}
{{#each sports}}
<h3>{{this.name}}</h3>
{{> afQuickField name="sports.$.sportTrue" noselect=true }}
{{#if afFieldValueIs name="sports.$.sportTrue" value=true}}
{{> afQuickField name="sports.$.sportDistance" value=this.frequency}}
{{/if}}
{{/each}}
<div>
<button type="submit">Submit</button>
</div>
{{/autoForm}}
更新 2:
我的架构可以在这里找到:http://pastebin.com/SbBSbqW2 我简化了一点,但这是主要内容。对于不同的运动,我需要不同的输入字段。
【问题讨论】:
-
当你说,“如果用户选择跑步,我想显示‘距离’、‘面积’等”,你的意思是你想在 UI 中显示这些数据还是你想要额外的显示供用户选择/更新的选项?
-
@NFab 抱歉,如果该部分不清楚。我的意思是我希望向用户显示其他选项以便能够选择/更新。这些在不同的条件下可以是不同的类型。
-
您可以添加您当前的架构吗?了解数据库中数据的结构和组织方式会很有帮助。
-
@NFab 已更新架构。感谢您的帮助。