Удивительный интерфейс Vue
Библиотека компонентов реализована с помощью [email protected] + [email protected] + [email protected] + [email protected] .
В настоящее время он включает в себя 63 базовых компонента пользовательского интерфейса и 16 служебных функций, которые постоянно изучаются и обновляются...
Более того, их всех можно трясти деревьями.
Все в Vue Amazing UI написано на TypeScript. Он может легко работать с вашим проектом машинописного текста.
Все компоненты построены в стиле SFC в виде одного файла и могут использоваться независимо.
Готов к использованию прямо из коробки, без суеты.
pnpm добавить vue-amazing-ui# ornpm install vue-amazing-ui# oryarn добавить vue-amazing-ui# orbun добавить vue-amazing-ui#
Глобальная регистрация всех компонентов (не рекомендуется)
Никакого тряски дерева. В комплекте будут избыточные коды.
import { createApp } из 'vue'import App from './App.vue'import VueAmazingUI из 'vue-amazing-ui'import 'vue-amazing-ui/css'const app = createApp(App)app.use(VueAmazingUI )app.mount('#app')Глобальная частичная регистрация
В этой форме будут объединены только импортированные компоненты.
import { createApp } from 'vue'import App from './App.vue'import { Button, Tag } from 'vue-amazing-ui'import 'vue-amazing-ui/es/button/Button.css'import ' vue-amazing-ui/es/tag/Tag.css'const app = createApp(App)app.use(Button).use(Tag)app.mount('#app')Местная регистрация
В этой форме будут объединены только импортированные компоненты.
<script setup lang="ts">import { Button, Tag } из 'vue-amazing-ui'import 'vue-amazing-ui/es/button/Button.css'import 'vue-amazing-ui/es/tag /Tag.css'</script>
<шаблон>
<Button>кнопка</Button>
<Tag>тег</Tag>
</шаблон>Стили автоматического импорта (рекомендуется)
Используйте плагин vite-plugin-style-import для автоматического импорта стилей компонентов по требованию. Плагин автоматически разберет используемые компоненты в шаблоне и импортирует их стили.
pnpm add vite-plugin-style-import -D# ornpm install vite-plugin-style-import -D# oryarn add vite-plugin-style-import -D# orbun add vite-plugin-style-import -D
// vite.config.tsimport { defineConfig } from 'vite'import vue from '@vitejs/plugin-vue'import { createStyleImportPlugin } from 'vite-plugin-style-import'// Автоматически импортировать компоненты Stylesimport { VueAmazingUIStyleResolve } из ' vue-amazing-ui'// https://vitejs.dev/config/export по умолчанию defineConfig({
плагины: [vue(), // импортирует стили библиотеки компонентов по требованиюcreateStyleImportPlugin({solves:[VueAmazingUIStyleResolve() ]})
]}) Затем вы сможете использовать все компоненты vue-amazing-ui в своем коде без необходимости вручную импортировать стили компонентов, независимо от того, используете ли вы глобальную частичную регистрацию или локальную регистрацию.
Глобальная частичная регистрация
import { createApp } из 'vue'import App из './App.vue'import { Button, Tag } из 'vue-amazing-ui'const app = createApp(App)app.use(Button).use(Tag) app.mount('#приложение')Местная регистрация
<script setup lang="ts">импортировать { Button, Tag } из 'vue-amazing-ui'</script>
<шаблон>
<Button>кнопка</Button>
<Tag>тег</Tag>
</шаблон>Автоматический импорт по требованию (настоятельно рекомендуется)
Используйте плагин unplugin-vue-components для автоматического импорта компонентов по требованию. Плагин автоматически проанализирует компоненты, используемые в шаблоне, и импортирует компоненты и стили.
pnpm добавить компоненты unplugin-vue -D# ornpm установить компоненты unplugin-vue -D# oryarn добавить компоненты unplugin-vue -D# orbun добавить компоненты unplugin-vue -D
// vite.config.tsimport { defineConfig } из 'vite'import vue из '@vitejs/plugin-vue'import Компоненты из 'unplugin-vue-comComponents/vite'// vue-amazing-ui on-demand importimport { VueAmazingUIResolver } из 'vue-amazing-ui'// https://vitejs.dev/config/export default defineConfig({
плагины: [vue(),Components({solvers: [// автоматический импорт компонентов из VueAmazingUIVueAmazingUIResolver() ]})
]}) Затем вы можете напрямую использовать все компоненты vue-amazing-ui в своем коде.
<шаблон> <Button>кнопка</Button> <Tag>тег</Tag> </шаблон>
Все типы можно напрямую импортировать и использовать из vue-amazing-ui без какой-либо дополнительной установки.
<script setup lang="ts">тип импорта { ButtonProps } из 'vue-amazing-ui'const shape = ref<ButtonProps['shape']>('default')</script>
<шаблон>
<Button :shape="shape">кнопка</Button>
</шаблон> <script setup lang="ts">import { dateFormat, formatNumber, rafTimeout, cancelRaf, throttle, debounce, add, downloadFile, toggleDark, useEventListener, useMutationObserver, useScroll, useFps, useMediaQuery, useResizeObserver, useSlotsExist} из 'vue-amazing-ui '</скрипт>Получить код проекта
git-клон https://github.com/themusecatcher/vue-amazing-ui.git
Установить зависимости
CD Vue-Amazing-UI пнпм я
Запустить проект
pnpm разработчик
Мои блоги CSDN
| Имя | Описание | Имя | Описание |
|---|---|---|---|
| Тревога | 警告提示 | Аватар | 头像 |
| НазадВверх | 回到顶部 | Значок | 徽标 |
| хлебные крошки | 面包屑 | Кнопка | 按钮 |
| Карта | фото | Карусель | 轮播图 |
| Каскадер | 级联选择 | Флажок | 复选框 |
| Крах | 折叠面板 | Обратный отсчет | 倒计时 |
| DatePicker | 日期选择 | Описания | 描述列表 |
| Диалог | 对话框 | Разделитель | 分割线 |
| Ящик | 抽屉 | Эллипсис | 文本省略 |
| Пустой | 空状态 | Гибкий | 弹性布局 |
| ФлоатКнопка | 浮动按钮 | Градиенттекст | 渐变文字 |
| Сетка | 栅格 | Изображение | фото |
| Вход | 输入框 | Входной номер | 数字输入框 |
| Входной поиск | 搜索框 | Список | 列表 |
| Загрузкабар | 加载条 | Сообщение | 全局提示 |
| Модальный | 模态框 | Уведомление | 通知提醒 |
| НомерАнимация | 数值动画 | Пагинация | 分页 |
| Попподтвердить | 弹出确认 | Поповер | 气泡卡фото |
| Прогресс | 进度条 | QRCод | 二维码 |
| Радио | 单选框 | Ставка | 评分 |
| Результат | 结果 | Полоса прокрутки | 滚动条 |
| Сегментированный | 分段控制器 | Выбирать | 选择器 |
| Скелет | 骨架屏 | Слайдер | 滑动输入条 |
| Космос | 间距 | Вращаться | 加载中 |
| Статистика | 统计数值 | Шаги | 步骤条 |
| Свипер | 触摸滑动插件 | Выключатель | 开关 |
| Стол | 表格 | Вкладки | 标签页 |
| Ярлык | 标签 | Текстовая область | 文本域 |
| ТекстПрокрутка | 文字滚动 | Хронология | 时间轴 |
| Подсказка | 文字提示 | Загрузить | 上传 |
| Видео | 播放器 | Водопад | 瀑布流 |
| Водяной знак | 水印 |
| Имя | Описание | Тип |
|---|---|---|
| формат даты | Строковая функция формата даты и времени | (значение: число | строка | Дата = Date.now(), формат: строка = 'ГГГГ-ММ-ДД ЧЧ:мм:сс') => строка |
| форматномер | Функция форматирования чисел | (значение: число | строка, точность: число = 2, разделитель: строка = ',', десятичное число: строка = '.', префикс?: строка, суффикс?: строка) => строка |
| рафТаймаут | Функция для реализации setTimeout или setInterval с использованием requestAnimationFrame | (fn: функция, задержка: число = 0, интервал: логическое значение = ложь) => объект |
| отменитьРаф | Функция отмены функции rafTimeout | (raf: { id: номер }) => void |
| дроссель | Функция дроссельной заслонки | (fn: Функция, задержка: число = 300) => любое |
| отскакивать | Функция устранения дребезга | (fn: Функция, задержка: число = 300) => любое |
| добавлять | Функция сложения, которая устраняет проблемы с точностью в арифметике JavaScript. | (число1: число, число2: число) => число |
| скачатьФайл | Функция загрузки файла с произвольным именем файла; если имя не указано, оно извлекает имя файла из URL-адреса | (url: строка, имя_файла?: строка) => void |
| toggleDark | Функция переключения темного режима | () => недействительно |
| использоватьEventListener | Функция для добавления и удаления прослушивателей событий с помощью перехватчиков жизненного цикла Vue | (цель: HTMLElement | Window | Document, событие: строка, обратный вызов: функция) => void |
| использоватьMutationObserver | Функция для наблюдения за изменениями в элементах DOM с помощью MutationObserver | (цель: Ref | Ref[] | HTMLElement | HTMLElement[], обратный вызов: MutationCallback, options = {}) => объект |
| использоватьПрокрутка | Функция для мониторинга положения прокрутки и состояния целевого элемента в режиме реального времени. | (цель: Ref | HTMLElement | Window | Document = window, throttleDelay: число = 0, onScroll?: (e: Event) => void, onStop?: (e: Event) => void) => объект |
| использоватьFps | Функция для мониторинга частоты обновления браузера (FPS) в режиме реального времени. | () => объект |
| использоватьMediaQuery | Функция, позволяющая определить, соответствует ли текущая среда указанному условию медиа-запроса. | (mediaQuery: строка) => объект |
| использоватьResizeObserver | Функция для наблюдения за изменениями размеров элементов DOM с помощью ResizeObserver | (цель: Ref | Ref[] | HTMLElement | HTMLElement[], обратный вызов: ResizeObserverCallback, options = {}) => объект |
| использоватьSlotsExist | Функция для отслеживания существования слотов с заданными именами, поддерживающая отдельные слоты или массив слотов. | (slotsName: string | string[] = 'default') => Реактивный | Ссылка<логическое значение> |