Drop down menu 如何在Meteor上保持引导下拉状态

Drop down menu 如何在Meteor上保持引导下拉状态,drop-down-menu,twitter-bootstrap,meteor,Drop Down Menu,Twitter Bootstrap,Meteor,我为每个表格行都有一个引导下拉按钮。 单击下拉列表时,会显示一个带有一些输入字段的小表单。 当用户提交此表单数据或重新绘制行时,下拉列表关闭 我尝试使用Template.preserve()方法保留下拉列表状态,类似于输入,但没有成功 一些人建议在下拉列表周围使用{{{#constant}}指令,我在表单中也有一些需要重新呈现的反应性内容,所以这个选项不适合我。我注意到了反应性模板的这个问题,我知道没有好的解决方案。这有点像黑客,但它是有效的 选项1 在下拉列表中手动添加和删除css类。使用会话

我为每个表格行都有一个引导下拉按钮。
单击下拉列表时,会显示一个带有一些输入字段的小表单。
当用户提交此表单数据或重新绘制行时,下拉列表关闭

我尝试使用
Template.preserve()
方法保留下拉列表状态,类似于输入,但没有成功


一些人建议在下拉列表周围使用
{{{#constant}}
指令,我在表单中也有一些需要重新呈现的反应性内容,所以这个选项不适合我。

我注意到了反应性模板的这个问题,我知道没有好的解决方案。这有点像黑客,但它是有效的

选项1 在下拉列表中手动添加和删除css类。使用会话变量保存下拉列表的状态

这应该是您下拉列表的默认状态
class=“dropdown”
当用户单击下拉列表时,使用会话变量保存其状态,并将“打开”添加到HTML类属性中
class=“下拉打开”
当用户关闭下拉列表时,删除“打开”

选项2: 1.用户单击下拉按钮。 2.使用会话变量将下拉按钮ID保存为活动。 3.使用以下回调重新打开下拉列表<代码>Template.myTemplate.rendered=函数(){ 如果(下拉=活动){ $().dropdown('toggle');//尝试“打开”而不是切换 } }


我还没有尝试使用下拉列表,但每次模板继续渲染时,模态都会消失,这与我遇到的问题相同。我尝试了第二种选择,但效果不太好。我最终使用了类似于第一个选项的方法来解决这个问题,效果非常好

您不是在点击按钮时发布页面重新加载,是吗?如果是这样,请看这里如何解决这个问题:所有提交事件都被
stopPropagation()
preventDefault()
停止,这只是为了确保。但是submit会对行集合进行更改,从而在之后重新呈现它。我注意到下拉列表中的open类在每次重新渲染时都会被删除。这就是问题所在。我找不到一种方法来“隔离”这个标签,而不是它的子标签。我试过{{孤立}但没有成功。