2

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

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

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

4

1 回答 1

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

我还没有尝试过使用下拉菜单,但是每次模板继续渲染时,模态框都会消失,我遇到了同样的问题。我尝试了第二个选项,但效果不是很好。我最终使用了类似第一个选项的方法来解决问题,并且效果很好。

于 2013-02-06T05:40:00.997 回答