19 lines
578 B
Plaintext
19 lines
578 B
Plaintext
// 处理菜单栏缩进
|
|
export function indentHandle(obj: {
|
|
indent: boolean | string;
|
|
level: number;
|
|
basePadding?: number;
|
|
isTree?: boolean;
|
|
}) {
|
|
const { indent, level, basePadding = 0, isTree } = obj;
|
|
const least: number = level - 1; // 第一层不缩进
|
|
if (isTree && indent && least > 0) {
|
|
const px =
|
|
typeof indent === "boolean"
|
|
? `${basePadding + 10 * least}px` // css样式表对<a>设定了23基础边距
|
|
: indent.replace(/\d+/g, (s) => (basePadding + least * +s).toString());
|
|
return `padding-left: ${px}`;
|
|
}
|
|
return "";
|
|
}
|