Skip to content

API 参考(API Reference)

本节按模块整理 SoDialog 的公开 API,方便开发时快速对照。

快速跳转

API Pages

  1. Dialog API
  2. Toast API
  3. Context Menu API
  4. Adapter API

方法索引

DomainMethods
DialogopenModal, openOffcanvas, confirmModal, promptModal, formModal
Toasttoast, pushMessage, SoToast.configure, SoToast.clear, SoToast.closeAll
Context MenubindContextMenu, configureContextMenu, openDialogFromContextMenu
AdapterconfigureAdapter, openDialog, bindDialogContextMenu, pushMessage

类型速查

DomainKey Types
DialogSoDialogModalOptions, SoDialogOffcanvasOptions, SoDialogHandle
Promise DialogSoDialogConfirmOptions, SoDialogPromptOptions, SoDialogFormOptions, SoDialogFormValue
ToastSoToastOptions, SoToastHandle, SoToastPlacement, SoToastDuplicateStrategy
Context MenuSoContextMenuOptions, SoContextMenuHandle, SoContextMenuItem
AdapterSoAdapterConfig, SoAdapterLogEvent, SoPushMessageOptions, SoMessageLevel

Adapter 示例

ts
import { configureAdapter, openDialog, bindDialogContextMenu, pushMessage } from 'sodialog'

configureAdapter({
  modalDefaults: { closeOnEsc: true, footerAlign: 'center' },
  toastDefaults: { placement: 'top-end', maxVisible: 4 },
  diagnosticsEnabled: true,
})

openDialog({
  title: '删除确认',
  content: '<p>是否继续删除?</p>',
  traceId: 'trace-order-001',
})

bindDialogContextMenu({
  target: '.file-row',
  items: [{ label: '删除' }],
})

pushMessage('success', '操作成功', { traceId: 'trace-order-001' })

Dialog Core

方法签名返回值
openModal(options: SoDialogModalOptions)SoDialogHandle
openOffcanvas(options: Omit<SoDialogOffcanvasOptions, 'kind'>)SoDialogHandle
bindContextMenu(options: SoContextMenuOptions)SoContextMenuHandle
SoDialog.open(options: SoDialogOptions)SoDialogHandle

Promise API

方法签名返回值
confirmModal(options?: SoDialogConfirmOptions)Promise<boolean>
promptModal(options?: SoDialogPromptOptions)Promise<string | null>
formModal(options: SoDialogFormOptions)Promise<Record<string, SoDialogFormValue> | null>

Toast API

方法签名返回值
toast(options: SoToastOptions)SoToastHandle
SoToast.show(options: SoToastOptions)SoToastHandle
SoToast.configure(defaults: Partial<SoToastOptions>)void
SoToast.clear(placement?: SoToastPlacement)void
SoToast.closeAll()void

全局配置示例

ts
import { configureDialog, configureContextMenu } from 'sodialog'

configureDialog({
  modalDefaults: { footerAlign: 'center', closeOnEsc: false },
  offcanvasDefaults: { placement: 'start' },
})

configureContextMenu({
  closeOnEsc: false,
  minWidth: 220,
  typeaheadEnabled: true,
})

关联演示

Released under the MIT License.