PrimeNG を使用して Angular プロジェクトに取り組んでおり、ページのp-calendarコンポーネントに正しい CSS スタイルを適用しようとすると、次の問題が発生します。
基本的に、HTML コードには次のようなものがあります。
<tr class="search-box">
<th></th>
<th>
<p-calendar inputStyleClass="dateTimeField" (onSelect)="onDateSelect($event)" (onClearClick)="dt.filter('', 'date', 'equals')" [showButtonBar]="true" placeholder="Search by Data inserimento" [readonlyInput]="true" dateFormat="yy-mm-dd"></p-calendar>
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'name', 'startsWith')" placeholder="Search by Name" class="p-column-filter">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'company.name', 'startsWith')" placeholder="Search by Company" class="p-column-filter">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'company.BU.name', 'startsWith')" placeholder="Search by BU" class="p-column-filter">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'dettaglio_ordine.commessa.code', 'startsWith')" placeholder="Search by Commessa" class="p-column-filter">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'dettaglio_ordine.cliente', 'startsWith')" placeholder="Search by Cliente" class="p-column-filter">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'dettaglio_ordine.cliente_finale', 'startsWith')" placeholder="Search by Cliente Finale" class="p-column-filter">
</th>
<th>
<input pInputText type="text" (input)="dt.filter($event.target.value, 'dettaglio_ordine.importo_contratto', 'startsWith')" placeholder="Search by Importo Contratto" class="p-column-filter">
</th>
<th></th>
</tr>
ご覧のとおり、2 番目のタグには次のp-calendarコンポーネントが含まれています。
<p-calendar inputStyleClass="dateTimeField" (onSelect)="onDateSelect($event)" (onClearClick)="dt.filter('', 'date', 'equals')" [showButtonBar]="true" placeholder="Search by Data inserimento" [readonlyInput]="true" dateFormat="yy-mm-dd"></p-calendar>
このコンポーネントのスタイルを設定しようとしています。次の他の入力タグとは異なり、スタイル (基本的には幅とフォント サイズ) を正確に設定できません。
ここに示すようにしようとしていました: https://forum.primefaces.org/viewtopic.php?t=2610
だから私のCSSコードに入れました:
.dateTimeField {
width: 80% !important;
}
また、p-calendarコンポーネント タグにstyleClass="dateTimeField"を設定してから、次のように設定しようとしました。
.dateTimeField input {
width: 80% !important;
}
しかし、それでも機能せず、この間違った視覚化が得られます:
ご覧のとおり、大きすぎて、私の CSS 設定を使用していません。奇妙なことに、Chrome ツールを使用すると、次の方法で正しい幅を設定できます。
input.ng-tns-c59-5.dateTimeField.ui-inputtext.ui-widget.ui-state-default.ui-corner-all.ng-star-inserted {
width: 80% !important;
}
しかし、この CSS 設定をコピーして Angular コンポーネントの CSS ファイルに貼り付けようとすると、まだ機能しません。
この問題を解決するにはどうすればよいですか?