Как проверить Индекс карты в SASS? - PullRequest
0 голосов
/ 24 июня 2019

Моя карта содержит свойства и в каждом свойстве значение, однако мне нужно проверить, есть ли свойство и значение в этом списке, однако я получаю следующее error:

"message": "The color correct does not exist!"

Вот мой код:

$default-color-type-list: 'border-color', 'background-color', 'color';
$default-color-name-list: (
    'cream-1': #FAFAFA,
    'cream-2': #EFEFEF,
    'correct': #02C22B,
    'dark-blue-1': #3897F0,
    'dark-grey-2': #999999,
    'incorrect': #EE2D3E,
    'transparent': transparent,
    'white': white,
);

@mixin getColor($color-name, $color-type) {
    @debug $default-color-name-list;
    @if not index($default-color-name-list, $color-name) {
        @error 'The color #{$color-name} does not exist!';
    }

    @if not index($default-color-type-list, $color-type) {
        @error 'The color type #{color-name} does not exist!';
    }
}

1 Ответ

0 голосов
/ 24 июня 2019

На самом деле это не sass-список, это sass-карта.

Чтобы проверить, существует ли ключ на карте:

map-has-key($default-color-name-list, cream-1)

А в вашем случае

@mixin getColor($color-name, $color-type) {        
    @if not map-has-key($default-color-name-list, $color-name) {
        @error 'The color #{$color-name} does exist!';
    } 

    @if not index($default-color-type-list, $color-type) {
        @error 'The color type #{color-name} does not exist!';
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...