Компонент Blockquote в библиотеке Naive UI предназначен для отображения цитат или выделенного текста с визуальным акцентом. Он обеспечивает стандартное оформление цитат с возможностью кастомизации внешнего вида через свойства и слоты.
Базовая структура компонента выглядит следующим образом:
<n-blockquote>
Это пример цитаты, оформленной с помощью компонента Blockquote.
</n-blockquote>
По умолчанию текст внутри блока отображается с левым вертикальным акцентом и стандартным отступом. Важно понимать, что Blockquote поддерживает как простой текст, так и сложные вложенные элементы, включая HTML-теги и другие компоненты.
1. type Определяет стиль оформления
цитаты. Возможные значения:
default — стандартная цитата (по умолчанию)primary — основной акцент для выделенного текстаsuccess — используется для цитат с позитивным
содержаниемwarning — для предупреждений или важной информацииerror — для отображения ошибок или критических
сообщенийПример использования:
<n-blockquote type="warning">
Эта цитата содержит важное предупреждение.
</n-blockquote>
2. closable Позволяет добавить кнопку
закрытия к цитате. Значение true отображает крестик в
правом верхнем углу, который можно использовать для скрытия блока.
<n-blockquote closable>
Цитата с возможностью закрытия.
</n-blockquote>
Событие on-close срабатывает при
нажатии на крестик:
<n-blockquote closable @close="handleClose">
Цитата с обработчиком закрытия.
</n-blockquote>
<script>
export default {
methods: {
handleClose() {
console.log('Цитата была закрыта');
}
}
}
</script>
3. bordered Добавляет визуальную рамку
вокруг цитаты, что особенно удобно для выделения блоков в интерфейсе с
плотным текстом.
<n-blockquote bordered>
Цитата с рамкой вокруг текста.
</n-blockquote>
4. quote и author Свойства
для отображения исходной цитаты и имени автора. Они позволяют
структурировать текст цитаты с указанием источника.
<n-blockquote
quote="Не тот велик, кто никогда не падает, а тот велик, кто падает и поднимается."
author="Конфуций">
</n-blockquote>
1. default Основной слот для
содержимого цитаты. Поддерживает вложенные компоненты, разметку и
стилизованный текст.
<n-blockquote>
<p>Текст цитаты может включать <strong>жирное выделение</strong> или <em>курсив</em>.</p>
</n-blockquote>
2. footer Слот для дополнительной
информации, обычно используется для автора или источника цитаты.
Позволяет полностью кастомизировать оформление нижней части блока.
<n-blockquote>
Цитата с кастомным футером.
<template #footer>
<span>Автор: Альберт Эйнштейн</span>
</template>
</n-blockquote>
Компонент Blockquote можно легко стилизовать через CSS-переменные Naive UI:
--n-blockquote-border-color — цвет вертикальной
линии--n-blockquote-background-color — цвет фона блока--n-blockquote-padding — внутренний отступ--n-blockquote-font-size — размер шрифта текста--n-blockquote-footer-font-size — размер шрифта
футераПример изменения стиля через CSS:
.n-blockquote {
--n-blockquote-border-color: #ff9800;
--n-blockquote-background-color: #fff3e0;
--n-blockquote-padding: 20px;
--n-blockquote-font-size: 16px;
}
Blockquote можно комбинировать с кнопками, иконками и другими компонентами для создания интерактивных цитат. Например, добавление кнопки внутри футера для действий с цитатой:
<n-blockquote>
Важное уведомление.
<template #footer>
<n-button size="small" type="primary">Подробнее</n-button>
</template>
</n-blockquote>
Цитата с динамическим содержимым:
<n-blockquote :quote="dynamicQuote" :author="dynamicAuthor">
<template #footer>
<n-button @click="copyQuote">Скопировать</n-button>
</template>
</n-blockquote>
<script>
export default {
data() {
return {
dynamicQuote: 'Учение без размышления — пустая трата времени.',
dynamicAuthor: 'Конфуций'
};
},
methods: {
copyQuote() {
navigator.clipboard.writeText(this.dynamicQuote);
console.log('Цитата скопирована');
}
}
}
</script>
Интерактивная цитата с закрытием и анимацией:
<n-blockquote v-if="visible" closable @close="visible = false" type="success">
Успешная операция завершена.
</n-blockquote>
<script>
export default {
data() {
return {
visible: true
};
}
}
</script>
Использование Blockquote в Naive UI позволяет создавать визуально выразительные цитаты с гибкой кастомизацией и интеграцией в динамические интерфейсы. Сочетание слотов, событий и CSS-переменных делает его универсальным инструментом для оформления текста и пользовательских уведомлений.