我想用預定義的顏色構建基本的colorpicker。通過可點擊選項而不是選擇選項綁定到ngModel(下拉列表)
的,我有一個對象「色」的色彩值,因爲它的屬性:
public colors = [
{ value: '#ffffff' },
{ value: '#919191' },
{ value: '#555555' },
// and some more
];
繼網絡上的一些例子,我將在我的HTML中選擇選項結構:
<select name="role" [(ngModel)]="item.color">
<option *ngFor="let color of colors" [value]="color.value">
<div class="color-box-modal" [style.background]="color.value"></div>
</option>
</select>
這確實爲選項創建了一個下拉菜單,儘管裏面的顏色沒有顯示出來。類color-box-modal具有高度和寬度值,因爲我不打算有下拉菜單,但需要點擊幾個彩色框才能選擇。
是否有替代選擇結構,允許我沒有下拉,但只有幾個彩色框?無線電按鈕/複選框也不是我們想要的方式,因爲我想自己有一個可點擊的字段,可以對點擊做出反應。
如果沒有其他選擇,是否可以在單擊按鈕時執行ngModel綁定?
編輯:
在奧斯曼CEAS答案測試選項2之後,我現在有這樣的:
<ng-template #content let-c="close" let-d="dismiss">
<i class="close icon" (click)="d('Close click x')"></i>
<div class="header">
Choose a new color
</div>
<div class="content">
<label for="col1" class="color-box-modal" style="background-color: #ffffff">
<input (click)="c('#ffffff')" id="col1" type="radio" class="hidden" [(ngModel)]="item.color" [value]="'#ffffff'">
</label>
<label for="col2" class="color-box-modal" style="background-color: #ffff00">
<input (click)="c('#ffff00')" id="col2" type="radio" class="hidden" [(ngModel)]="item.color" [value]="'#ffff00'">
</label>
<label for="col3" class="color-box-modal" style="background-color: #00ffff">
<input (click)="c('#00ffff')" id="col3" type="radio" class="hidden" [(ngModel)]="item.color" [value]="'#00ffff'">
</label>
</div>
<div class="actions">
<div class="ui button" (click)="c('Close click cancel')">Cancel</div>
</div>
</ng-template>
雖然ngModel結合似乎並沒有工作。 整個事情在一個模式(模板)中打開,本身工作,只是綁定到ngModel,正如我所說的那樣。
很快就會嘗試選項2,如果不行的話我會前往3.一旦我有了一些工作,我會報告結果,但是已經得到答案 – m41n
我現在測試了選項2 ,儘管它有一些問題,要編輯我原來的問題與他們 – m41n
你想在當時選擇一種顏色?如果是這樣,輸入類型應該是'收音機'而不是'複選框' –