Skip to content

Window 窗口

Window 窗口组件是展示页面的基础框架,它充当所有页面内容的容器。它提供了一个统一的界面样式,使得所有的内容都能够在一个标准化的环境中展示。

基础用法

vue
<template>
    <cb-window>
        <div class="app-layout-view">
            <div class="app-layout-body-view">
                这里有一个窗口!
            </div>
        </div>
    </cb-window>
</template>

<script setup>
import CbWindow from '@/public/components/window/window.vue'
</script>

多页面路由

  • 属性:routes

  • 类型:object[]

  • 默认值:[]

  • 必须:

  • 使用示例:

vue
<template>
    <cb-window :routes="routes">
        <router-view></router-view>
    </cb-window>
</template>

<script setup>
import { ref } from 'vue'
import CbWindow from '@/public/components/window/window.vue'

const routes = ref([
    { name: 'Home', label: 'HOME' }
])
</script>

提示

这里需要其他文件配合,可以参考创建一个窗口

窗口标题

  • 属性:title

  • 类型:string

  • 默认值:''

  • 必须:

  • 示例:

提示

从这里开始,之后的参数不再通过 props 传递,而是使用 mitt 的方式,通过在组件内监听 view 事件传递。

vue
<template>
    <cb-window></cb-window>
</template>

<script setup>
import { onMounted } from 'vue'
import emitter from '@/public/utils/mitt'
import CbWindow from '@/public/components/window/window.vue'

onMounted(() => {
    emitter.emit('view', {
        title: '标题'
    })
})
</script>

窗口模式

  • 属性:mode

  • 类型:'clean' | 'clean-white' | 'multiple'

  • 默认值:''

  • 必须:

  • 示例:

vue
<template>
    <cb-window></cb-window>
</template>

<script setup>
import { onMounted } from 'vue'
import emitter from '@/public/utils/mitt'
import CbWindow from '@/public/components/window/window.vue'

onMounted(() => {
    emitter.emit('view', {
        mode: 'clean'
    })
})
</script>

阴影模式

  • 属性:shadow

  • 类型:boolean

  • 默认值:false

  • 必须:

  • 示例:

vue
<template>
    <cb-window></cb-window>
</template>

<script setup>
import { onMounted } from 'vue'
import emitter from '@/public/utils/mitt'
import CbWindow from '@/public/components/window/window.vue'

onMounted(() => {
    emitter.emit('view', {
        shadow: true
    })
})
</script>

开发文档