JSFiddle - React, Tailwind, and code Playground

HTML

<div ng-controller="OptionsController">
  <button value="add" ng-click="add()">
    add
  </button>
  <div ng-repeat="val in v">
    <select ng-model="val.myColor" ng-change="call(val)">
      <option ng-repeat="c in colors" ng-disabled="isDisabled(c)" value="{{c}}">
        {{c}}
      </option>
    </select>
  </div>
</div>

JavaScript

angular.module('myApp', [])

function OptionsController($scope, $timeout) {
  $scope.v = [{
    myColor: 0
  }];

	$scope.inUse = [];
  $scope.isDisabled = function(name) {
  	return $scope.inUse.indexOf(name) !== -1;
  }

  $scope.colors = ['black', 'white', 'red', 'blue', 'yellow'];

  $scope.add = function() {
		$scope.v.push({});
  }

  $scope.call = function(val) {
    $scope.inUse = [];

    for(var i=0; i<$scope.v.length; i++) {
			var val = $scope.v[i];

      $scope.inUse.push(val.myColor);
    }
  }
}