Skip to content

页签操作 ​

打开 ​

VueStackTabs 提供 useTabActions 来打开或切换页签

示例:

typescript
// 引用 useTabActions
import { useTabActions } from 'vue-stack-tabs'

const { openTab } = useTabActions()

/**
 * 如果没传 ID,则新建页签
 * ID 相同时,则只切换页签并显示最后页面
 * 返回 Promise,resolve 为页签 ID
 */
const tabId = await openTab({
  id: 'dashboard',
  title: '首页',
  path: '/dashboard',
  closable: false
})

切换页签 ​

示例:

typescript
// 引用 useTabActions
import { useTabActions } from 'vue-stack-tabs'

const { activeTab } = useTabActions()

// 传入页签ID
activeTab('dashboard')

重置页签 ​

示例:

typescript
// 引用 useTabActions
import { useTabActions } from 'vue-stack-tabs'

const { reset } = useTabActions()

reset()

页签页面加载动画 ​

useTabLoading 会在当前页签上方显示页面级遮罩。它只能在由 <VueStackTabs> 渲染的页面组件中使用:库会在缓存包装层提供页面上下文,并据此定位所属页签。

vue
<script setup lang="ts">
import { useTabLoading } from 'vue-stack-tabs'

const { openTabLoading, closeTabLoading } = useTabLoading()

const load = async () => {
  openTabLoading()
  try {
    await fetchData()
  } finally {
    closeTabLoading()
  }
}
</script>

遮罩只覆盖当前页签,其它页签照常工作。完整 API 见 useTabLoading,调用范围说明见签内操作。

Released under the Apache License.