You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vue组件中如何为class属性定义类型?

Vue组件Class属性Props的类型定义方案

现成导入类型推荐

Vue官方已提供适配:class所有绑定格式的专用类型,直接从vue包导入ClassValue即可,它覆盖了字符串、数组、对象等所有合法的class绑定场景:

import type { ClassValue } from 'vue';

const props = defineProps<{
  class?: ClassValue;
}>();

类型覆盖场景

ClassValue原生支持以下所有合法的class写法:

  • 字符串格式:'base-class'
  • 对象格式:{ 'active': isActive, 'hidden': isHidden }
  • 数组格式:['static-class', { 'dynamic-class': isDynamic }]
  • 嵌套组合格式:['class-a', ['class-b', { 'class-c': isTrue }]]

透传提示

如果需要将传入的class透传给组件根元素,直接在根元素上使用:class="$props.class"即可,Vue会自动处理所有格式的class绑定,无需额外转换。

内容的提问来源于stack exchange,提问作者chipit24

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 15:10:38