Skip to content

函数: mergeClasses()

ts
function mergeClasses(...args): string;

定义于: class.ts:48

条件合并 class 类名:接受字符串、数字、数组(可嵌套)、「类名 → 真值」对象,拼成以空格分隔的 class 串。

参数

参数类型描述
...argsClassValue[]任意个 class 值

返回值

string

合并后的 class 字符串;无有效类名时返回 ''

备注

  • 所有 false 值(false / null / undefined / '' / 0 / NaN)都会被忽略,因此 mergeClasses(count && 'has-items')count0 时得到 '' 而非 '0'
  • 对象按值的真假决定是否取用对应的键作为类名;
  • 不做去重、不合并 Tailwind 冲突类(如需按 Tailwind 规则覆盖,请配合 tailwind-merge)。

示例

ts
mergeClasses('a', 'b')                       // => 'a b'
mergeClasses('a', ['b', { c: true }], 'd')   // => 'a b c d'
mergeClasses('base', isActive && 'active')   // => isActive 为 true 时 'base active',否则 'base'
mergeClasses({ foo: true, bar: 0, baz: 1 })  // => 'foo baz'
mergeClasses(null, undefined, false, 0, '')  // => ''