函数: mergeClasses()
ts
function mergeClasses(...args): string;定义于: class.ts:48
条件合并 class 类名:接受字符串、数字、数组(可嵌套)、「类名 → 真值」对象,拼成以空格分隔的 class 串。
参数
| 参数 | 类型 | 描述 |
|---|---|---|
...args | ClassValue[] | 任意个 class 值 |
返回值
string
合并后的 class 字符串;无有效类名时返回 ''
备注
- 所有 false 值(
false/null/undefined/''/0/NaN)都会被忽略,因此mergeClasses(count && 'has-items')在count为0时得到''而非'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, '') // => ''