如何在Meteor上保留bootstrap下拉状态

时间:2013-02-02 13:07:25

标签: drop-down-menu twitter-bootstrap meteor

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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

选项2:  1.用户点击下拉按钮。  2.使用会话变量将下拉按钮ID保存为活动状态。  3.使用以下回调重新打开下拉列表... Template.myTemplate.rendered = function ( ) { if (dropdown = active) { $().dropdown('toggle'); //instead of toggle try 'open' } }

我还没有尝试使用下拉菜单,但每次模板保持渲染时,模态都会消失,我也遇到了同样的问题。我尝试了第二个选项,它没有那么好用。我最终使用类似第一个选项来解决问题并且效果很好。