Как назначить случайный цвет в массиве? - PullRequest
0 голосов
/ 25 апреля 2018

Эй, у меня есть массив с разными цветами, и я хочу, чтобы каждый созданный чип имел случайный цвет этого массива.Я попытался поместить все цветные строки в массив и посмотреть, созданы ли чипы с цветами массива за другим.Но это не сработало.Как я могу это сделать?

HTML

<ion-chip [color]="color" class="chip" #chip *ngFor="let tag of tagName">

TS

 public color: string [] = ["ok", "nice","awesome","danger","white"]

tagName

export class Tag {
  tag: string;
  constructor(values: Object = {}) {
    Object.assign(this, values);
  }

...

  tagName: Tag[] = [];

...

  add(): void {
      let id = this.tagName.length + 1;
      this.tagName.push(new Tag({ tag: "tag" + id }, ));
    }

    remove(tag: Tag) {
      let id = this.tagName.indexOf(tag);
      this.tagName.splice(id, 1);
    }

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018
getRandomColor() {
var color = Math.floor(0x1000000 * Math.random()).toString(16);
return '#' + ('000000' + color).slice(-6);
}

Снимок экрана:

enter image description here

0 голосов
/ 25 апреля 2018

Что вам нужно сделать, это сгенерировать случайный индекс от 0 до длины вашего массива:

getRandomInt(max) {
  return Math.floor(Math.random() * Math.floor(max));
}

Затем установите цвет следующим образом:

[color]="color[getRandomInt(color.length)]"
...