J'utilise Angular 7. Lorsque j'ouvre ma boîte de dialogue, je souhaite définir une icône en forme d'étoile après l'entrée, comme indiqué par les flèches, pas dans l'entrée comme actuellement.
Voici ma boîte de dialogue:
Ceci est mon html: p>
<h1 mat-dialog-title>{{'DNS.Create entry' | translate }}</h1>
<div mat-dialog-content fxLayout="row" fxLayoutAlign="center center">
<form name="createEntryForm" [formGroup]="createEntryForm" fxLayout="column" fxFlex="100">
<mat-form-field>
<mat-label>Type</mat-label>
<mat-select placeholder="type" formControlName="type" [(ngModel)]="entrType">
<mat-option value="A">A</mat-option>
<mat-option value="CNAME">CNAME</mat-option>
</mat-select>
</mat-form-field>
<mat-icon class="amber-600-fg" matTooltip="Click to add/remove shortcut">star</mat-icon>
<mat-form-field *ngIf="entrType == 'A'">
<mat-label>Hostname</mat-label>
<input matInput formControlName="hostname">
<span matSuffix>.{{ domain.name }}</span>
<mat-error *ngIf="hostname.errors?.pattern">{{'DNS.Hostname not valid' | translate }}</mat-error>
</mat-form-field>
<mat-form-field *ngIf="entrType == 'CNAME'">
<mat-label>Hostname</mat-label>
<input matInput formControlName="hostname">
<span matSuffix>.{{ domain.name }}</span>
<mat-error *ngIf="hostname.errors?.pattern">{{'DNS.Hostname not valid' | translate }}</mat-error>
</mat-form-field>
<mat-icon class="amber-600-fg" matTooltip="Click to add/remove shortcut">star</mat-icon>
<mat-form-field *ngIf="entrType == 'A'">
<mat-label>{{'DNS.IP address' | translate }}</mat-label>
<input matInput formControlName="value">
<mat-error *ngIf="value.errors?.pattern">
{{'DNS.Value not valid' | translate }}
</mat-error>
</mat-form-field>
<mat-icon class="amber-600-fg" matTooltip="Click to add/remove shortcut">star</mat-icon>
<mat-form-field *ngIf="entrType == 'CNAME'">
<mat-label>FQDN cible</mat-label>
<input matInput formControlName="value">
<mat-error *ngIf="value.errors?.pattern">
{{'DNS.Value not valid' | translate }}
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-label>TTL</mat-label>
<mat-select placeholder="ttl" formControlName="ttl" [(ngModel)]="ttlType">
<mat-option value="300">5 min</mat-option>
<mat-option value="3600">{{'DNS.1 hour' | translate }}</mat-option>
<mat-option value="86400">{{'DNS.1 day' | translate }}</mat-option>
</mat-select>
</mat-form-field>
<mat-icon class="amber-600-fg" matTooltip="Click to add/remove shortcut">star</mat-icon>
</form>
</div>
<div mat-dialog-actions fxLayoutAlign="end center">
<button mat-button (click)="onCancelClick()">{{'DNS.Cancel' | translate }}</button>
<button mat-raised-button color="primary" [mat-dialog-close]="createEntryForm" [disabled]="createEntryForm.invalid">{{'DNS.Create'
| translate }}</button>
</div>
J'apprécie toute aide pour résoudre ce problème.
3 Réponses :
Utilisez matPrefix ou matSuffix
<mat-form-field>
<input matInput placeholder="Amount" type="number">
<span matPrefix>ICON HERE</span>
<span matSuffix>ICON HERE</span>
</mat-form-field>
https://stackblitz.com/angular/vkgoyrdlnyjp?file=app%2Fform-field-prefix-suffix-example.html
https://material.angular.io/components/form-field/overview p >
Je veux insérer après l'entrée pas dans l'entrée
utilisez la police géniale pour vos champs de saisie
mat-selec::after {
font-family: "Font Awesome 5 Free";
content: "\f005";
}
j'essaie ce que vous m'avez donné mais il insère l'icône dans l'entrée moi je veux l'insérer après l'entrée montrer l'image s'il vous plaît
utilisez la police géniale pour vos champs de saisie
Pour garder l'image en dehors de l'entrée réelle, mais sur la même ligne, vous pouvez placer l'entrée et l'image dans une ligne propre:
<div fxLayout="row">
<mat-form-field>
<mat-label>Type</mat-label>
<mat-select placeholder="type" formControlName="type" [(ngModel)]="entrType">
<mat-option value="A">A</mat-option>
<mat-option value="CNAME">CNAME</mat-option>
</mat-select>
</mat-form-field>
<mat-icon class="amber-600-fg" matTooltip="Click to add/remove shortcut">star</mat-icon>
</div>
Donnez-vous une largeur suffisante au div d'emballage?
Je n'ai pas compris ce que vous voulez dire ??
Je voulais dire que la forme devait être plus large. Vous pouvez le styliser en css ou flexlayout je suppose. Il y a un débordement. Quelque chose comme fxFlex = "120"?