2

各テーブル行にブートストラップ ドロップダウン ボタンがあります。
ドロップダウンをクリックすると、いくつかの入力フィールドを含む小さなフォームが表示されます。
ユーザーがこのフォーム データを送信するか、行が再描画されると、ドロップダウンが閉じます。

入力と同様に、メソッドを使用してドロップダウン状態を保持しようとしましTemplate.preserve()たが、成功しませんでした。

ドロップダウンを囲むディレクティブを使用することを提案した人{{#constant}}もいましたが、フォーム内に再レンダリングが必要なリアクティブなコンテンツもあるため、このオプションは私には適していません。

4

1 に答える 1

2

リアクティブテンプレートでこの問題に気づきましたが、私が知っている良い解決策はありません。これはややハックですが、機能します。

オプション 1cssクラスをドロップダウンに手動で追加および削除します。セッション変数を使用して、ドロップダウンの状態を保存します。

これは、ドロップダウンのデフォルトの状態である必要があります...class="dropdown" ユーザーがドロップダウンをクリックしたら、セッション変数を使用してその状態を保存し、HTMLクラス属性に「open」を追加します。class="dropdown open" ユーザーがドロップダウンを閉じるときは、「開く」を削除します

オプション2: 1.ユーザーがドロップダウンボタンをクリックします。2.セッション変数を使用して、ドロップダウンボタンIDをアクティブとして保存します。3.次のコールバックを使用して、ドロップダウンを再度開きます。Template.myTemplate.rendered = function ( ) { if (dropdown = active) { $().dropdown('toggle'); //instead of toggle try 'open' } }

ドロップダウンでこれを試したことはありませんが、テンプレートがレンダリングを続けるたびにモーダルが消えるという同じ問題が発生していました。2番目のオプションを試しましたが、うまくいきませんでした。私は問題を解決するために最初のオプションのようなものを使用することになり、それはうまくいきました。

于 2013-02-06T05:40:00.997 に答える