ここでは、私が働いているシナリオを行く:開閉複数の角度素材ボトムシート
- 当社のウェブアプリケーションのビジネスロジックが必要です(ダイアログ別の上に1の数を開き、一つずつを閉じます
- )通常のダイアログのUIスタックのようにこれは重要な場合我々は、右から(スライドパネルにダイアログを変換するに見ている)とCSSのペテンを使用した後、我々は再びきた
- を使用して
mdDialog
で見事に動作しますそのためにmdBottomSheet
を使いました(私たちの使用に最も便利でした。たとえそれがもともと下から右からではなくても開いていても) mdDialog
(それが正しく文書化されていなくても)それは重要な問題を紹介しているので、期待通りにmultiple: true
と動作します...
multiple: true
オプション
問題:メインダイアログを開き、次にセカンダリを開いたとします。セカンダリを閉じると、メインも閉じますが、これは意図した結果ではありません。基本的には、サブダイアログを閉じると、メインダイアログ(およびその他のすべてのサブダイアログも同様です)が閉じられます。
私たちが見つけた解決策は、preserveScope: true
オプションを使用していますが、閉じたダイアログの関連性のないスコープをそのまま維持し、関連するすべての問題(不完全なロジック、不必要なウォッチャー、誤ったDOM要素のエラーなど)。ダイアログが閉じた後に残っているスコープを選択的に消去しようとすると、まだ開いているダイアログがすべて失われます(preserveScope: false
...と同じです)
これは基本的にケーキを食べて食べる方法を探しています。あまりにも - 右からスライドする "ボトムシート"の機能と、通常のダイアログのように複数のダイアログで機能するという両方の機能があります。ところで
、適切な機能を実装するための角度マテリアルチームの要求がありますが、今のところ、それはあなたができるようにを知っている場合や、
私は、いくつかの興味深いアイデアをしたいと思います...開発どっちつかずの状態で立ち往生していますどんなものか考えてみてください。mdBottomSheet
のように見えるので、AnglesJSのためにReduxを再実装してダイアログの状態を管理してください。本当にどちらかを避けたいと思っています:) )。
バージョン: AngularJS(角1.6.6)と角度材料(角-材料1.1.5)