Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在angular 2中的选择标记中显示颜色框?_Javascript_Angular_Html_Drop Down Menu_Angular Material - Fatal编程技术网

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。是的。这就是我想做的。谢谢,伙计。这就是我想做的。谢谢你,伙计。