前端UI组件【免费下载链接】vue-grid-layoutA draggable and resizable grid layout, for Vue.js.项目地址https://gitcode.com/gh_mirrors/vu/vue-grid-layout点击查看免费下载本篇指南围绕 vue-grid-layout 的安装与项目集成展开覆盖 NPM、Yarn 包管理器安装、Vue 组件局部/全局注册以及浏览器 UMD 直接引入三种方式并辅以仓库源码印证入口导出、构建产物与插件自动安装逻辑。读者按本文操作后即可在自己的 Vue 2 项目中快速接入可拖拽、可缩放的网格布局组件。安装前的准备vue-grid-layout 是一个面向 Vue.js 的网格布局组件库提供可拖拽Draggable与可缩放Resizable的网格项GridItem其底层拖拽能力基于 interact.js 实现。仓库 package.json 中声明当前版本为 2.4.0并注明支持 Vue 2.2详见 README.md。若项目使用Vue 2.1.10 及以下需要回退到 2.1.3 版本若项目面向IE11 等旧浏览器需要使用 2.3.12-legacy 分支的构建产物若项目基于 Vue 1则需要 1.0.3 版本。建议在新项目中直接使用当前版本并确保 Vue 版本满足 2.2 的要求。使用包管理器安装NPMnpm install vue-grid-layout --save--save会将依赖写入package.json的dependencies字段便于项目在其他环境复现安装。Yarnyarn add vue-grid-layout安装完成后node_modules/vue-grid-layout下即包含可直接使用的构建产物。仓库 package.json 中声明main: dist/vue-grid-layout.common.js—— CommonJS 格式供 Node 环境与打包器如 webpack、rollup解析unpkg: dist/vue-grid-layout.umd.min.js—— UMD 压缩版供浏览器script直接引用。也就是说通过 NPM/Yarn 安装后Vue CLI、webpack 等打包工具会依据main字段自动选取 CommonJS 版本完成编译。导入并注册到 Vue 组件安装完成后在组件中导入整个库import VueGridLayout from vue-grid-layout;库的默认导出同时包含GridLayout网格容器与GridItem网格单元两个组件。仓库入口文件 src/components/index.js 给出了明确的导出结构import GridItem from ./GridItem.vue; import GridLayout from ./GridLayout.vue; const VueGridLayout { GridLayout, GridItem }局部注册推荐将两个组件注册到需要使用的 Vue 组件中export default { components: { GridLayout: VueGridLayout.GridLayout, GridItem: VueGridLayout.GridItem }, // ... data, methods, mounted (), etc. }注册之后就可以在模板中使用grid-layout与grid-item标签构建布局。仓库演示应用 src/App.vue 展示了完整的注册与模板用法可对照参考。全局注册可选除默认导出外src/components/index.js 还实现了标准的 Vue 插件install方法export function install(Vue) { if (install.installed) return; install.installed true; Object.keys(VueGridLayout).forEach(name { Vue.component(name, VueGridLayout[name]); }); }因此可以直接通过Vue.use()全局安装import Vue from vue; import VueGridLayout from vue-grid-layout; Vue.use(VueGridLayout);之后任意组件模板中都可以直接使用grid-layout/grid-item无需重复局部注册。该插件的install带有install.installed防重复注册保护多次调用也不会产生副作用。浏览器直接引入CDN / 本地文件如果项目不使用打包器可以直接引入浏览器版 UMD 包script srcvue-grid-layout.umd.min.js/script该产物由vue-cli-service build --target lib ./src/components/index.js构建脚本见 package.json并通过 vue.config.js 配置了library: VueGridLayout的全局变量名。因此引入后组件会自动可用无需额外注册步骤全局对象window.VueGridLayout上可访问GridLayout与GridItem。仓库入口 src/components/index.js 还内置了自动安装逻辑当检测到全局window.Vue浏览器或global.VueNode 环境存在时会立即执行Vue.use(plugin)完成全局注册let GlobalVue null; if (typeof window ! undefined) { GlobalVue window.Vue; } else if (typeof global ! undefined) { GlobalVue global.Vue; } if (GlobalVue) { GlobalVue.use(plugin); }这意味着通过script顺序引入 Vue 与vue-grid-layout.umd.min.js后两个组件即被自动注册到全局模板中可直接使用。注意事项UMD 包体积较大且无 tree-shaking 优化仅建议用于无需打包的页面或快速原型验证正式工程仍推荐 NPM/Yarn 安装方式。安装验证与快速上手验证安装是否成功安装后建议先运行一次单元测试验证环境正常仓库配置了 Jest 测试脚本package.jsonnpm run test:unit测试用例 test/unit/GridItem.spec.js 通过shallowMount挂载GridLayout组件并断言渲染了.vue-grid-layout根节点可用作集成的冒烟验证。若需本地体验完整功能可以运行演示应用npm install npm run serve演示应用入口为 src/main.js 与 src/App.vue包含拖拽、缩放、镜像、边界限制、响应式等开关演示。最小可用示例导入并注册组件后即可按如下模板编写一个最简单的网格布局完整示例见 website/docs/guide/usage.mdgrid-layout :layout.synclayout :col-num12 :row-height30 :is-draggabletrue :is-resizabletrue :is-mirroredfalse :vertical-compacttrue :margin[10, 10] :use-css-transformstrue grid-item v-foritem in layout :xitem.x :yitem.y :witem.w :hitem.h :iitem.i :keyitem.i {{item.i}} /grid-item /grid-layout对应的layout数据是一个对象数组每个对象以x、y、w、h描述网格项的坐标与尺寸i为唯一标识data: { layout: [ {x:0,y:0,w:2,h:2,i:0}, {x:2,y:0,w:2,h:4,i:1}, {x:4,y:0,w:2,h:5,i:2}, {x:6,y:0,w:2,h:3,i:3}, {x:8,y:0,w:2,h:3,i:4}, {x:10,y:0,w:2,h:3,i:5} ] }关键配置速查对照仓库组件定义 src/components/GridLayout.vue以下为常用 prop 及其默认值prop默认值说明colNum12网格列数rowHeight150每行高度pxmargin[10, 10]横向/纵向间距pxisDraggabletrue是否允许拖拽isResizabletrue是否允许缩放isMirroredfalse是否启用镜像RTL布局isBoundedfalse拖拽/缩放是否限制在容器内verticalCompacttrue是否垂直紧凑排列responsivefalse是否响应式切换断点preventCollisionfalse是否阻止碰撞重叠layout必填布局数据数组layout是唯一必填 prop这也是注册组件后运行模板前必须准备的数据。常见问题问为什么import VueGridLayout from vue-grid-layout后VueGridLayout.GridLayout未定义请确认安装的版本为 2.x 且项目 Vue 版本 ≥ 2.2。仓库当前版本 2.4.0 的默认导出结构即{ GridLayout, GridItem }见 src/components/index.js不存在该对象则说明引入的产物版本不匹配。问浏览器直接引入后组件没有生效UMD 包的自动安装依赖全局window.Vue请务必在vue-grid-layout.umd.min.js之前引入 Vue 本身。若采用异步或延迟加载则需显式调用window.VueGridLayout上的组件完成注册。问项目在构建时提示找不到dist目录下的产物NPM 包发布时已包含构建产物正常安装即可使用若在仓库源码层面自行开发调试需要先执行npm run build-lib构建命令见 package.json生成dist/目录。结语vue-grid-layout 提供了 NPM、Yarn 与浏览器 UMD 三种对等且互补的引入路径打包型项目使用包管理器 局部/全局注册轻量页面使用script直接引入。配合仓库中 src/components/index.js 的插件式导出与 src/App.vue 的完整演示开发者可以快速完成安装、注册并投入网格布局的实际开发。赞分享前端UI组件【免费下载链接】vue-grid-layoutA draggable and resizable grid layout, for Vue.js.项目地址https://gitcode.com/gh_mirrors/vu/vue-grid-layout点击查看免费下载相关推荐react-beautiful-dnd 安装指南npm/yarn 引入、UMD 浏览器直用与 ClojureScript 消费方式react beautiful dnd 安装指南npm/yarn 引入、UMD 浏览器直用与 ClojureScript 消费方式 本指南完整讲解 reacthistory 5.x 安装与引入全解npm 安装、打包器集成与浏览器直接加载history 5.x 安装与引入全解npm 安装、打包器集成与浏览器直接加载 本篇以 history 库当前仓库为 5.3.0 版本的官方安装文档为核心前端VUX 2.x 安装指南npm/yarn 安装与 vux-loader Webpack 集成配置详解VUX 2.x 安装指南npm/yarn 安装与 vux loader Webpack 集成配置详解 VUX 是基于 Vue 2 与 WeUI 风格的移动端UI组件前端上一篇NumPy Core umath 模块深度解析ufunc 高性能数学内核的 C 实现原理下一篇FireLens日志路由AWS容器监控的终极解决方案创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考