Web前端开发网

fly63.com

首页 资源 工具 文章 教程 栏目
  • 在线搜索
  • 文章标签
  • 广告合作
  • 赞助一下
  • 关于我们
资源推荐
硅云优惠券
领先的基础云计算服务提供商,PHP云虚拟主机第一品牌
堆友AI
零门槛,多风格AI绘画免费生成,电商海报设计神器
SpeedAI
一键去重、降AIGC率、数据可视化、论文写作
LiblibAI
一站式AI内容创作生成平台,原创AI模型分享社区
茅茅虫
茅茅虫AI论文写作助手,AIGC论文查重
AI提示词商城
AI提示词交易与管理平台,提升效率
任推邦
APP推广项目分发和流量变现平台
阿里云优惠券
卓越的云计算技术和服务提供商
腾讯云优惠券
云服务器,云数据库,CDN,域名注册等多种云计算服务
fly63工具箱
简单、易用、便捷的在线工具

资源分类

AI智能 酷站推荐 招聘/兼职 框架/库 模块/管理 移动端UI框架 Web-UI框架 Js插件 Jquery插件 CSS相关 IDE环境 在线工具 图形动效 游戏框架 node相关 调试/测试 在线学习 社区/论坛 博客/团队 前端素材 图标/图库 建站资源 设计/灵感 IT资讯
网站收录 / 问题反馈

autodialog.js

分享
复制链接
新浪微博
QQ 好友

扫一扫分享

GitHub:https://github.com/Auto-Plugin/autodialog.js
网站描述:一个轻量、框架无关的弹窗系统
GitHub

autodialog 是一个框架无关的弹窗系统,核心仅依赖原生 dom。 默认内置 vue、react、html 适配器,并支持用户注册自定义框架适配器(如 Svelte、Solid 等)


特性

  • 框架无关:核心完全基于原生 DOM,无需依赖任何框架。

  • 内置适配器:支持 Vue、React、HTML。

  • 可扩展适配器:可轻松集成 Svelte、Solid、Lit、Qwik 等框架。

  • 内置基础动画:支持进入 / 离开过渡。

  • 最小化样式:只包含布局和基础动画,用户可完全自定义样式。

  • 完整生命周期钩子:支持 onBeforeOpen、onOpened、onBeforeClose、onClosed、onMaskClick。


安装

npm install autodialog.js
# 或者
pnpm add autodialog.js
# 或者
yarn add autodialog.js

可选的 peer 依赖

如果你需要使用内置的 Vue 或 React 适配器,请确保你的项目已经安装:

"peerDependencies": {
  "vue": ">=3.0.0",
  "react": ">=18.0.0",
  "react-dom": ">=18.0.0"
}
Autodialog 不会自动安装这些框架,它只会与宿主项目中的版本共享使用。

 使用示例

原生 HTML

import autodialog from 'autodialog.js'

autodialog.show('<div>Hello World!</div>')

Vue 3

import autodialog from 'autodialog.js'
import MyDialog from './MyDialog.vue'

autodialog.show(MyDialog, {
  props: { title: '你好 Vue' },
  animationDuration: 250
})

React 18+

import autodialog from 'autodialog.js'
import MyDialog from './MyDialog.tsx'

autodialog.show(MyDialog, {
  props: { message: '你好 React' }
})

自定义适配器(例如 Svelte)

import { Dialog } from 'autodialog.js'
import { mount } from 'svelte'

export const SvelteAdapter = {
  render(Component: any, { panel, props = {}, onClose }: any) {
    const instance = mount(Component, {
      target: panel,
      props: { ...props, onClose }
    })
    ;(panel as any).__svelte__ = instance
  },
  unmount(panel: HTMLElement) {
    const inst = (panel as any).__svelte__
    inst?.destroy?.()
    delete (panel as any).__svelte__
  }
}

// ✅ 注册自定义适配器(detect 可省略)
Dialog.registerAdapter({
  name: 'svelte',
  adapter: SvelteAdapter
})

现在可以直接这样调用:

import MyDialog from './MyDialog.svelte'
autodialog.show(MyDialog, { props: { text: '来自 Svelte 的弹窗 ' } })

仅供个人学习参考/导航指引使用,具体请以第三方网站说明为准,本站不提供任何专业建议。如果地址失效或描述有误,请联系站长反馈~感谢您的理解与支持!

链接: https://fly63.com/nav/4797

更多»
热门资源
swiper
目前应用较广泛的移动端网页触摸内容滑动js插件
官网
GitHub
layer
layer是一款口碑极佳的web弹层组件
点击进入
GitHub
iScroll.js
IScroll是移动页面上被使用的一款仿系统滚动插件。
官网
GitHub
wangEditor
基于javascript和css开发的 Web富文本编辑器
官网
GitHub
ueditor
由百度web前端研发部开发所见即所得富文本web编辑器
官网
GitHub
highlight
Highlight.js 是一个用 JavaScript 写的代码高亮插件,在客户端和服务端都能工作。
官网
GitHub
UglifyJS
一个js 解释器、最小化器、压缩器、美化器工具集
官网
GitHub
lozad.js
高性能,轻量级,可配置的懒加载图片工具
官网
GitHub
Sortable.js
简单灵活的 JavaScript 拖放排序插件
官网
GitHub
validate.js
表单提供了强大的验证功能,让客户端表单验证变得更简单
官网
GitHub
Draggin.js
一款兼容移动手机的js拖拽插件
官网
GitHub
lazysizes.js
响应式图像延迟加载JS插件【懒加载】
官网
GitHub
类似于autodialog.js的资源
x-editable
用于创建可编辑弹出框的插件
官网
GitHub
vue-croppa
基于vue直观可定制的轻量级移动友好的图像裁剪器
官网
GitHub
RegexHub
一个实用正则表达式模式集合
官网
GitHub
html-dom
120多个原生操作dom的例子
官网
GitHub
lory
一个支持触摸滑动的 JavaScript 滑块
官网
GitHub
laverna
一个开源的 JavaScript 笔记应用
官网
GitHub
xterm.js
使用TypeScript编写的前端终端组件
官网
GitHub
Vueuse
Vue 2 和 Vue 3 组件的必要实用程序集合
官网
GitHub
目录

手机扫一扫预览

》
分享组件加载中...
首页 技术导航 在线工具 技术文章 教程资源 前端标签 AI工具集 前端库/框架 实用工具箱 广告合作 关于我们

Copyright © 2018 Web前端开发网提供免费在线工具、编程学习资源(教程/框架/库),内容以学习参考为主,助您解决各类实际问题,快速提升专业能力。