vue3-windows
Lightweight hook-driven window manager for Vue 3.
4,324
| Install | |
|---|---|
npm install vue3-windows |
|
| Latest Version: | 1.6.2 |
| Vue: | 3 |
| Last Updated: | Jul 14, 2026 |
| Links: | GitHub · npm |
Maintainer: luoyi58624
vue3-windows
Vue 3 窗口工具。
安装
bun add vue3-windows
最简用法
<script setup lang="ts">
import { defineComponent, h } from 'vue'
import { useCurrentWindow, useWindows, windowSetup } from 'vue3-windows'
windowSetup({
width: 600,
minWidth: 200,
minHeight: 200,
zIndex: 100,
rememberPosition: true,
})
const windows = useWindows()
const DetailWindow = defineComponent({
setup() {
const currentWindow = useCurrentWindow()
return () => h('button', { type: 'button', onClick: currentWindow.close }, '关闭窗口')
},
})
function openDetail() {
windows.create({
title: '详情',
component: DetailWindow,
})
}
</script>
<template>
<button type="button" @click="openDetail">打开窗口</button>
</template>
说明
useWindows()创建窗口管理器,返回创建、关闭、最小化、置顶、更新和状态切换 APIuseWindows('groupId')可选指定窗口分组,不同分组的窗口位置和同 id 几何缓存互不影响useCurrentWindow()只能在窗口内容组件中使用,用于读取和操作当前窗口,也可以通过watchWindow()监听窗口变化windowSetup()用于设置全局默认配置,useWindows(options)/useWindows(id, options)和create(options)可以继续覆盖这些默认值rememberPosition: false会让窗口每次打开时按当前尺寸居中展示,不复用上次位置- 窗口状态只有
normal、minimized、maximized,最小化表示窗口暂时隐藏但记录、内容组件和 DOM 状态仍保留
Related Packages
@korneevecin/vue3-dialogs-lib
Window manager for Vue 3: minimizable, draggable, persistable windows on the nat...
836
0
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 1.6.2 | ^3.5.0 | ||
| 1.6.1 | ^3.5.0 | ||
| 1.6.0 | ^3.5.0 | ||
| 1.5.1 | ^3.5.0 | ||
| 1.5.0 | ^3.5.0 | ||
| 1.4.2 | ^3.5.0 | ||
| 1.4.1 | ^3.5.0 | ||
| 1.4.0 | ^3.5.0 | ||
| 1.3.2 | ^3.5.0 | ||
| 1.3.1 | ^3.5.0 | ||
| 1.3.0 | ^3.5.0 | ||
| 1.2.3 | ^3.5.0 | ||
| 1.2.2 | ^3.5.0 | ||
| 1.2.1 | ^3.5.0 | ||
| 1.2.0 | ^3.5.0 | ||
| 1.1.2 | ^3.5.0 | ||
| 1.1.1 | ^3.5.0 | ||
| 1.1.0 | ^3.5.0 | ||
| 1.0.6 | ^3.5.0 | ||
| 1.0.5 | ^3.5.0 | ||
| 1.0.4 | ^3.5.0 | ||
| 1.0.3 | ^3.5.0 | ||
| 1.0.2 | ^3.5.0 | ||
| 1.0.1 | ^3.5.0 | ||
| 1.0.0 | ^3.5.0 |