我想从sass地图中删除多键,像这样的代码
$breakpoint: (
xs: (
min-width: 0
),
sm: (
min-width: 481
),
md: (
min-width: 768
)
) !default;
$breakpoint-remove: xs, sm !default; // i need remove xs and sm key
@mixin test($map: $breakpoint) {
$map: map-remove($map, $breakpoint-remove); // not working
justForOutput: $map; // not working
}
@include test();
如果变量$breakpoint-remove
具有带逗号的多值,则它不起作用,但适用于单值。
如何开展工作?感谢。
答案 0 :(得分:-1)
map-remove
可以删除多个密钥,但它们必须作为单独的参数传递,而不是作为列表传递:
map-remove($map-breakpoints, xs, sm)
在这种情况下(注意括号&{39}和...
):
$breakpoint-remove: (xs, sm) !default;
[...]
$map: map-remove($map, $breakpoint-remove...);
正如here所解释的那样,...
告诉编译器填写列表,就像它被调用一样:
$map: map-remove($map, xs, sm);
编辑:重写以包含来自重复帖子的相关信息