[英]Angular6: How to add border color to checkbox
我試圖在未選中的情況下為復選框添加邊框紅色,但不起作用。 它基於.ng-touched.ng-無效的此類名稱。 如果未從復選框中選擇它,則它應為邊框紅色。 現在該框將要使用紅色,但是我需要復選框邊框僅在未檢查條件下為紅色。 怎么做?
https://stackblitz.com/edit/angular-q7aiwj?file=src/app/app.component.html
app.component.html:
<form [formGroup]="form" (ngSubmit)="submit()">
<label formArrayName="orders" *ngFor="let order of form.controls.orders.controls; let i = index">
<input type="checkbox" [formControlName]="i">
{{ordersData[i].name}}
</label>
<div *ngIf="!form.valid">At least one order must be selected</div>
<br>
<button type="submit">submit</button>
</form>
您需要做一些事情才能完成此任務...
ordersData
數組內部 [checked]="ordersData[i].checked"
將輸入與該屬性綁定,並記錄所有更改,我們這樣做: [(ngModel)]="ordersData[i].checked"
[style.border]
,條件是如果為false /未選中,則顯示一個紅色框 相關的HTML :
<form [formGroup]="form" (ngSubmit)="submit()">
<label formArrayName="orders" *ngFor="let order of form.controls.orders.controls; let i = index">
<div [style.border]="ordersData[i].checked == false ? '2px solid red' : 'none' "
>
<input type="checkbox" [formControlName]="i" [checked]="ordersData[i].checked" [(ngModel)]="ordersData[i].checked"
>
{{i}} - {{ordersData[i].name}}
</div>
</label>
<div *ngIf="!form.valid">At least one order must be selected</div>
<br>
<button type="submit">submit</button>
</form>
TS的相關變化:
getOrders() {
return [
{ id: 100, name: 'order 1', checked:false },
{ id: 200, name: 'order 2', checked:false },
{ id: 300, name: 'order 3', checked:false },
{ id: 400, name: 'order 4', checked:false }
];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.