跳到主要内容

导航、标签页与弹层

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

使用场景​

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

快速索引​

  • 页面导航:openMenu、openTab、closeTab、openOrSwitchTab、sendToOpenerTab、updateTabTitle
  • 弹层与提示:openDialog、openDrawer、confirm、alert、prompt、toast

openMenu(menuOptions)​

打开新菜单。

参数说明

参数名类型必填说明
menuOptionsstring | MenuOptions是菜单地址或菜单对象
参数名类型必填默认值说明
pathstring是路径地址
titlestring否标题
parentstring否父级唯一标识(由菜单标题+路径+当前处于菜单数组位置的下标组成), 影响菜单导航的高亮样式
iconstring否图标
showModeboolean否tab页面打开形式,支持 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​

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

示例

import { toast } from 'ouroboros-sdk'

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