Bootstrap アコーディオンでアクセスできるラジオ ボタンのリストを含む Meteor アプリケーションのフォームがあります。クラスを入力要素に挿入して有効/無効としてマークする検証ルーティングを流星に実装しました。
問題: 1 つの入力要素の検証状態が変化するたびに、テンプレートが再描画され、現在開いているアコーディオンが閉じます。
私はこの不器用なアプローチを行うことでこれを解決しました:
Meteor.startup(function() {
// track collapse state of accordion....
$('.collapse').on('shown', function() {
Session.set(addBookingCollapse, $(this).attr('id'));
});
});
Template.addrecord.helpers({
openAccordion: function(accordion) {
if (Session.get(addBookingCollapse) == accordion) {
return 'in'
};
}
});
<div id="collapseOne" class="accordion-body
collapse {{openAccordion 'collapseOne'}}">
...その他の 4 つの折りたたみ可能な要素についても同様
しかし、誰のために言うと、もっとエレガントな解決策があるはずです? このためにセッション変数を無駄にしたくありません....