2017-01-18 6 views
2

私はPrimeNGウィジェットを使ってAngular2で入力フォームを編集ポップアップダイアログを作成したいと思う。私はそのダイアログボックスの動的コンテンツに問題があります(スクリーンショットを参照)。PrimeNG DialogModuleをCalendarModuleでオーバーフローさせよう

<p-calendar> in <p-dialog>

私は単純に他の要素の上に配置されているのdivにCalendarModuleをラップしようとしてきました。 (下の角テンプレートHTMLを参照してください)

<p-dialog [(visible)]="display" [modal]="true" [resizable]="false"> 
... 
<table class="ui-datatable-responsive"> 

<tbody> 
    <tr> 
    ... 
    </tr> 
    <tr> 
    <td class="ui-cell-data">Start By:</td> 
    <td class="ui-cell-data"> 
     <div [style]="generateSafeStyle('position:relative; z-index:1000')"> 
     <p-calendar dateFormat="dd.mm.yy" [(ngModel)]="value"></p-calendar> 
     </div> 
    </td> 
    </tr> 
</tbody> 
... 
</table> 
</p-dialog> 

しかし、DialogModuleはすべてのコンテンツをフレームしているようです。そのフレームをオーバーフローさせるためのハックはありますか?

あなたはそれをどのように扱いますか?

ありがとうございます。

P.S:generateSafeStyle関数は、注入されたDomSanitizerを使用して正常に動作します。

generateSafeStyle(style:string):SafeStyle{ 
return this.sanitizer.bypassSecurityTrustStyle(style); 
} 

答えて

0

あなたがofficial PrimeNG Calendar documentationをチェックすると、あなたはそれらの間で、あなたが必要なCSSを追加するために使用できるstyle属性があります、カレンダーコンポーネントの属性のリストを見つける:

<p-calendar dateFormat="dd.mm.yy" [(ngModel)]="value" 
[style]="{ 'position': 'relative', 'z-index': '1000' }"></p-calendar> 
+0

これはDomSanitizerとまったく同じです。あなたが言うように私がそれを行うならば、それはさらにこの美しい警告を作り出します: "警告:安全でないスタイル値[オブジェクトオブジェクト]を浄化します(http://g.co/ng/security#xss参照)。 – KayleeTheMech

+0

@YvonneReinhardt私はあなたが 'DomSanitizer'を使う必要はないと思います。私が提供したコードをテストしただけで、何の問題も警告もなく動作しています。 –

+0

さて、私はdivを必要としないかもしれませんし、DOMSanitizerもなくても警告は出ません。しかし、これは問題ではありません。なぜなら、CalendarModuleはDialogModuleとその醜いスクロールバーの中にまだフレームされているからです。* grrr *お試しいただきありがとうございます。: – KayleeTheMech

1

これまで働いていた唯一のもの次のスタイルオプションがありました:

<p-calendar dateFormat="dd.mm.yy" [(ngModel)]="dueDate" [style]="{'position': 'fixed', 'overflow': 'visible', 'z-index': '999'}"> 

これはテーブルを壊しました。だから私はテーブルを取り除き、フレックスボックスを使って要素を整列させました。とにかくこのように見える。

+0

私は自分の位置を相対的な位置に設定し、それを固定しました。 – Jeff

2

それがオーバーフローに関連しています:そのdivの中に見える、それがこの問題を解決します:ダイアログで.ui-ダイアログ・コンテンツ

の自動クラス.ui-ダイアログ・コンテンツを持つdiv要素がありますがオーバーフローします。

関連する問題