> Как задать значение по умолчанию для defineProps во Vue с TypeScript (Vue.js)
Уровень: senior · Роль: frontend · Категория: Технические вопросы
Компании: Библио-Глобус
Стек: Vue.js
> Пример ответа
В Vue 3 с TypeScript значение по умолчанию для defineProps задаётся с помощью опции default в объекте свойства. Есть два основных подхода:
- Через объект с типом (рекомендуемый):
TYPESCRIPTinterface Props {title?: string;count?: number;items?: string[];}const props = withDefaults(defineProps<Props>(), {title: 'Default Title',count: 0,items: () => [] // для массивов/объектов используйте фабричную функцию});
- Через runtime-декларацию:
TYPESCRIPTconst props = defineProps({title: {type: String,default: 'Default Title'},count: {type: Number,default: 0},items: {type: Array as PropType<string[]>,default: () => []}});
Первый способ предпочтительнее в TypeScript-проектах, так как обеспечивает полную типизацию. withDefaults автоматически убирает ? у опциональных полей, делая их обязательными с дефолтными значениями. Для ссылочных типов (массивы, объекты) обязательно используйте фабричную функцию () => ..., чтобы избежать мутаций между экземплярами.
> Похожие задачи по frontend
Что выбрать для анимации: CSS или JavaScript библиотеку и почему
Что такое reactive и ref во Vue Composition API, для чего они нужны и чем отличаются?
Что такое ViewModel во Vue и как он работает
Почему выбрали Vue и учитывали ли преимущества инструментов
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью