在SCSS mixin定义中,我要检查参数是否为预定义的字符串之一。在下面的例子中,我怎样才能使一个条件,以检查是否$arg
是"foo"
,"bar"
或"baz"
?如果没有,我想提出一个错误。
@mixin my-mixin($arg){
@if some-condition {
@error "argument must be `foo`, `bar`, or `baz`."
};
...
}
到目前为止,还没有内置方法可以实现这一目标。然而,你可以简单地写你自己的@function
(例如称为in_list
1),其使用index()
方法,以检查是否存在值的列表如下:
/**
* in_list — Checks if a value exists in a list
*
* @param $value the needle
* @param $list the haystack
* @return boolen TRUE if $value is found in the $list, FALSE otherwise.
*/
@function in_list($value, $list) {
@return (false != index($list, $value));
}
例如:
$list: foo, bar, baz;
$val: qux;
...
@if in_list($val, $list) {
// do something
} @else {
@error "$val argument must exist in #{$list}; was '#{$val}'";
}
1.函数名称和语法受PHPin_array()
函数启发。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句