跳到主要内容

导航、标签页与弹层

适用对象:已经挂载微前端,准备调用页面导航、标签页通信、对话框、抽屉和提示能力的开发者。

使用场景

  • 你想打开菜单、标签页,或者和打开方标签通信
  • 你想弹出对话框、抽屉或确认提示
  • 你想在页面内给用户显示成功、失败或警告消息

快速索引

  • 页面导航:openMenuopenTabcloseTabopenOrSwitchTabsendToOpenerTabupdateTabTitle
  • 弹层与提示:openDialogopenDrawerconfirmalertprompttoast

openMenu(menuOptions)

打开新菜单。

参数说明

参数名类型必填说明
menuOptionsstring | MenuOptions菜单地址或菜单对象
参数名类型必填默认值说明
pathstring路径地址
titlestring标题
parentstring父级唯一标识(由菜单标题+路径+当前处于菜单数组位置的下标组成), 影响菜单导航的高亮样式
iconstring图标
showModebooleantab页面打开形式,支持 newWindow(新窗口全屏打开), fullScreen(当前窗口全屏打开), tab

返回值

返回一个 Promise 对象。

示例

import { openMenu } from 'ouroboros-sdk'

openMenu('地址')

openTab(fullPath,openTabOptions)

打开新的标签页。

参数说明

参数名类型必填说明
fullPathstring带参数的完整路径
openTabOptionsOpenTabOptions标签页的其他信息,例如标题等

OpenTabOptions

参数名类型必填说明
titlestring标签页标题
breadcrumbsobject[]当前标签页路径的层级关系
callbackfunction通知 openTab 调用者,与之建立界面间的通信

返回值

返回一个 Promise 对象。

示例

import { openTab } from 'ouroboros-sdk'

openTab('/system-setting/dynamic-form', {
title: '动态表单',
breadcrumbs: [
{
key: '系统设置3', // key = 菜单标题 + 路径 + 当前处于菜单数组位置的下标
title: '系统设置',
},
{
key: '动态表单管理/system-setting/dynamic-form3',
title: '动态表单',
path: '/system-setting/dynamic-form',
},
],
})

closeTab(id,result)

关闭标签页。

参数说明

参数名类型必填默认值说明
idstring当前标签页的 id要关闭的标签页 ID
resultobject标签页间通信信息

返回值

返回一个 Promise 对象。

示例

import { closeTab } from 'ouroboros-sdk'

closeTab()

openOrSwitchTab(fullPath,switchTabOptions)

打开新的标签页,或者切换到已打开的标签页。

参数说明

参数名类型必填说明
fullPathstring带参数的完整路径
switchTabOptionsSwitchTabOptions标签页的其他信息

SwitchTabOptions

参数名类型必填说明
callbackfunction通知 openTab 调用者,与之建立界面间的通信

返回值

返回一个 Promise 对象。

示例

import { openOrSwitchTab } from 'ouroboros-sdk'

openOrSwitchTab('/your-tab-path')

sendToOpenerTab(id,data)

向打开当前标签页的调用者发送消息。

参数说明

参数名类型必填默认值说明
idstring当前标签页的 id标签页 ID
dataany要发送的数据

示例

import { sendToOpenerTab } from 'ouroboros-sdk'

sendToOpenerTab('通信信息')

updateTabTitle(id,title)

更新标签页标题。

参数说明

参数名类型必填默认值说明
idstring当前标签页的 id要更新的标签页 ID
titlestring标题

返回值

返回一个 Promise 对象。

示例

import { updateTabTitle } from 'ouroboros-sdk'

updateTabTitle('tab-id', '更新后的标题')

openDialog(schema, ctx)

打开一个对话框式模态框。

参数说明

参数名类型必填说明
schemaDialogSchema模态框内容
ctxobject上下文

DialogSchema

参数名类型默认值说明
titleSchemaNode弹出层标题
bodySchemaNode往 Dialog 内容区加内容
sizestring指定 Dialog 大小,支持: xs、sm、md、lg、xl、full

点击查看更多属性

返回值

返回一个 Promise 对象。

示例

import { openDialog } from 'ouroboros-sdk'

const dialogPromise = await openDialog({
body: {
type: 'form',
body: [
{
type: 'input-text',
name: 'name',
label: '姓名:',
},
],
},
title: '测试标题',
})
// 点击确定按钮:dialogPromise = [{name: '测试name'}]
// 点击取消按钮:dialogPromise = false

openDrawer(schema, ctx)

打开一个模态框-抽屉。

参数说明

参数名类型必填说明
schemaDrawerSchema模态框内容
ctxobject上下文

DrawerSchema

参数名类型默认值说明
titleSchemaNode弹出层标题
bodySchemaNode往 Drawer 内容区加内容
sizestring指定 Drawer 大小,支持: xs、sm、md、lg、xl
positionstringright指定 Drawer 大小,支持: left、right、top、bottom

点击查看更多属性

返回值

返回一个 Promise 对象。

示例

import { openDrawer } from 'ouroboros-sdk'

const drawerPromise = await openDrawer({
body: {
type: 'form',
body: [
{
type: 'input-text',
name: 'name',
label: '姓名:',
},
],
},
title: '测试标题',
})
// 点击确定按钮:drawerPromise = [{name: '测试name'}]
// 点击取消按钮:drawerPromise = false

confirm(content,title,optionsOrConfirmText,content)

确认对话框

参数说明

参数名类型必填说明
contentstring内容
titlestring标题
optionsOrConfirmTextstring | ConfirmOptions确认按钮配置或者文案
contentstring取消按钮文案

ConfirmOptions

参数名类型必填说明
classNamestring指定确认对话框的类名
closeOnEscboolean是否允许按下 Esc 关闭对话框
sizestring指定对话框的尺寸,支持: '' ,'xs' , 'sm' , 'md' , 'lg' , 'xl' , 'full'
confirmBtnLevelstring确认按钮的样式等级
cancelBtnLevelstring取消按钮的样式等级
confirmTextstring确认按钮文本
cancelTextstring取消按钮文本

返回值

返回一个 Promise 等待用户确认。

示例

import { confirm } from 'ouroboros-sdk'

const confirmPromise = await confirm('内容区', '标题')

alert(content,title)

弹窗。

参数说明

参数名类型必填说明
contentstring内容
titlestring标题

返回值

返回一个 Promise 用于处理异步操作的结果。

示例

import { alert } from 'ouroboros-sdk'

const confirmPromise = await alert('内容区', '标题')

prompt

显示一个对话框,用于用户输入信息或做出选择。

参数说明

参数名类型必填说明
controlsobject| array对话框的控件配置,可以是单个控件或控件数组。
defaultValuestring对话框控件的默认值
titlestring对话框的标题
confirmTextstring确认按钮的文本

返回值

返回一个 Promise 用于处理异步操作的结果,点击确认按钮,返回用户输入的内容,点击取消按钮,返回 false。

示例

import { prompt } from 'ouroboros-sdk'

const promptPromise = await prompt({
type: 'input-text',
name: 'name',
label: '姓名:',
})



const promptPromise = await prompt(
[
{
className: 'w-full',
type: 'tpl',
label: false,
tpl: '当前有部分已更改数据因为格式不正确尚未保存,您确认要丢弃这部分更改吗?',
},
{
type: 'switch',
label: false,
option: '查看更改',
name: 'diff',
value: false,
},
],
{
diff: true,
},
'请确认'
)

toast

toast 提示。

方法说明

函数方法说明
success、error、info(content, conf)显示成功消息
error(content, conf)显示错误消息
info(content, conf)显示信息消息
warning(content, conf)发显示警告消息

参数说明

参数名类型必填说明
contentstring要显示的消息内容
confstring | ConfigObject配置对象

ConfigObject

参数名类型必填默认值说明
closeButtonbooleanfalse是否展示关闭按钮
showIconbooleantrue是否展示图标
timeoutnumber5000持续时间
titlestring|HTMLElement标题
bodystring|HTMLElement内容,会覆盖 content

示例

import { toast } from 'ouroboros-sdk'

toast.success('操作成功')
toast.error('操作失败', { timeout: 2000 })