Javascript 如何在angular 2中的选择标记中显示颜色框?
我需要在选择标签下拉列表中显示一组颜色框,如下所示 我试过了,就像下面一样Javascript 如何在angular 2中的选择标记中显示颜色框?,javascript,angular,html,drop-down-menu,angular-material,Javascript,Angular,Html,Drop Down Menu,Angular Material,我需要在选择标签下拉列表中显示一组颜色框,如下所示 我试过了,就像下面一样 <select> <option value="">Choose Color</option> <option value="red"><div class="color-box" style="background-color: #FF850A;"></div></option> <option value="gre
<select>
<option value="">Choose Color</option>
<option value="red"><div class="color-box" style="background-color: #FF850A;"></div></option>
<option value="green"></option>
<option value="blue"></option>
<option value="yellow"></option>
</select>
选择颜色
但它不起作用。这里有图书馆吗?请建议。您可以使用
[ngStyle]
我已经在上创建了一个演示
component.html
您可以使用
[ngStyle]
我已经在上创建了一个演示
component.html
只需将您的样式应用于选项标记,它就可以正常工作:
<select>
<option value="">Choose Color</option>
<option value="red" style="background-color: #FF850A;"></option>
<option value="green"></option>
<option value="blue"></option>
<option value="yellow"></option>
</select>
选择颜色
Codepen只需将您的样式应用于选项标记,它就可以正常工作:
<select>
<option value="">Choose Color</option>
<option value="red" style="background-color: #FF850A;"></option>
<option value="green"></option>
<option value="blue"></option>
<option value="yellow"></option>
</select>
选择颜色
代码笔您可以做的是为选项写入背景色。请参阅下面的代码
<option value="">Choose Color</option>
<option style="background-color: #FF850A;" value="red"></option>
<option value="green"></option>
<option value="blue"></option>
<option value="yellow"></option>
选择颜色
您可以做的是为选项写入背景色。请参阅下面的代码
<option value="">Choose Color</option>
<option style="background-color: #FF850A;" value="red"></option>
<option value="green"></option>
<option value="blue"></option>
<option value="yellow"></option>
选择颜色
我想这就是你要找的
选择框的颜色将更改为所选选项的颜色
应用程序组件.TS
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
selectedColor = '';
colors = [
{
name: 'yellow',
value: '#ffff00'
},
{
name: 'red',
value: '#ff3300'
},
{
name: 'blue',
value: '#0000ff'
}
];
onChange(value){
this.selectedColor = value;
}
}
APP.COMPONENT.HTML
<select (change)="onChange($event.target.value)" [ngStyle]="{'background-color':selectedColor}">
<option *ngFor="let color of colors" [value]="color.value" [ngStyle]="{'background-color':color.value}"></option>
</select>
运行代码:
在组件本身中创建列表的优点是,您可以在不更改HTML的情况下添加或编辑尽可能多的选项,这也是我们在生产中使用它的方式 我想这就是你要找的 选择框的颜色将更改为所选选项的颜色 应用程序组件.TS
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
selectedColor = '';
colors = [
{
name: 'yellow',
value: '#ffff00'
},
{
name: 'red',
value: '#ff3300'
},
{
name: 'blue',
value: '#0000ff'
}
];
onChange(value){
this.selectedColor = value;
}
}
APP.COMPONENT.HTML
<select (change)="onChange($event.target.value)" [ngStyle]="{'background-color':selectedColor}">
<option *ngFor="let color of colors" [value]="color.value" [ngStyle]="{'background-color':color.value}"></option>
</select>
运行代码:
在组件本身中创建列表的优点是,您可以在不更改HTML的情况下添加或编辑尽可能多的选项,这也是我们在生产中使用它的方式 你不能在标签里面有一个div标签,检查html页面,你就会知道了!还有其他方法吗?下面的答案应该很好!你不能在标签里面有一个div标签,检查html页面,你就会知道了!还有其他方法吗?下面的答案应该很好!当我选择颜色名称时。仅显示颜色名称。我想在那个盒子里显示颜色本身。好的,让我检查克里希纳谢谢你的支持。但当我选择颜色名称时,我看起来有点像@Shaurya posted。仅显示颜色名称。我想在那个盒子里显示颜色本身。好的,让我检查克里希纳谢谢你的支持。但我看起来有点像@Shaurya posted。是的。这就是我想做的。谢谢,伙计。这就是我想做的。谢谢你,伙计。