Skip to content

API 参考(API Reference) ​

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

快速跳转 ​

API Pages ​

  1. Dialog API
  2. 圖片預覽 API
  3. Toast API
  4. Context Menu API
  5. Adapter API
  6. Tags Input API
  7. Tooltip API

方法索引 ​

DomainMethods
ThemesetTheme, getTheme
DialogopenModal, openOffcanvas, confirmModal, promptModal, formModal
Image PreviewopenImagePreview, bindImagePreview
Toasttoast, pushMessage, SoToast.configure, SoToast.clear, SoToast.closeAll
Context MenubindContextMenu, configureContextMenu, openDialogFromContextMenu
TooltipbindTooltip, configureTooltip, SoTooltip.bind, SoTooltip.configure
Tags InputcreateTagsInput
AdapterconfigureAdapter, openDialog, bindDialogContextMenu, pushMessage

类型速查 ​

DomainKey Types
DialogSoDialogModalOptions, SoDialogOffcanvasOptions, SoOffcanvasResizeOptions, SoDialogHandle
ThemeSoThemePreset (classic | modern | minimal)
Promise DialogSoDialogConfirmOptions, SoDialogPromptOptions, SoDialogFormOptions, SoDialogFormValue
Image PreviewSoImagePreviewOptions, SoImagePreviewBindingOptions, SoImagePreviewHandle
ToastSoToastOptions, SoToastHandle, SoToastPlacement, SoToastDuplicateStrategy
Context MenuSoContextMenuOptions, SoContextMenuHandle, SoContextMenuItem
TooltipSoTooltipOptions, SoTooltipDefaults, SoTooltipHandle, SoTooltipTarget, SoTooltipContent, SoTooltipPlacement
Tags InputSoTagsInputOptions, SoTagsInputHandle
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 { setTheme, configureDialog, configureContextMenu } from 'sodialog'

setTheme('modern')

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

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

关联演示 ​

Released under the MIT License.