首页
学习
活动
专区
工具
TVP
发布
您找到你想要的搜索结果了吗?
是的
没有找到

Vue拖拽组件开发实例

可以用他来封装单文件组件来开发更为复杂的单页应用。 本文主要是通过封装一个拖拽组件的例子,来分析Vue组件化相关知识。 为什么选择Vue?...可维护性:组件化后,组件内部的逻辑只对组件负责,外部的逻辑只通过配置参数适配,所以提高了代码的逻辑清晰度,可以快速定位代码出现问题的地方。...组件化搭建页面图示: 上图可看出,在Vue中,所谓组件化搭建页面,简单来说,页面实际上是由一个个功能独立的组件搭建而成。这些组件之间可以组合、嵌套,最终形成了我们的页面。...组件内封装的样式 开发Vue移动拖拽组件为例 拖拽原理 手指在移动的过程中,实时改变元素的位置即top和left值,使元素随着手指的移动而移动...小结 本文从Vue拖拽组件开发为例,剖析Vue组件的结构、开发思路、Vue的数据驱动等,对Vue组件化的原理,进行了更深入的理解。 并将Vue实现拖拽的方案提供给大家学习研究。 P.S.

4.3K130

拖拽牛逼,轻松实现一个自由拖拽组件

在揭秘页面设计器时,我们重点分享了顺序排列布局的组件拖动方式,那篇文章[2]的评论中,有小伙伴问到自由布局的实现,那么我们在这篇文章中来分享一下自由布局拖动的实现原理,实现一个设计器组件自由拖动的最简demo...元素可以进行拖动了,我们就可以通过元素的拖动事件进行拖动开始-结束的一些逻辑控制了,拖动事件主要分为两个类别,一类是拖动元素可以触发的: dragstart:鼠标点中元素并且开始移动时触发 drag:拖拽过程中持续触发...dragend:拖拽结束松开鼠标时触发 另一类是,是当拖拽元素到某个目标元素时,目标元素会触发的: dragenter:拖拽元素到目标上时触发 dragover:拖动元素在目标元素中,持续触发 dragleave...组件在目标元素经过时,必须要阻止默认行为,否则不能触发drop。 设置组件离开目标元素时放置行为为不能拖放,即none。...首先在组件列表进行遍历时,添加组件的dragstart 和dragend事件。

1.7K30

拖拽式仪表盘 - 组件开发

,必须且唯一 */ name: 'ExampleWidget', /** * 组件配置对象 * @property {String} name 组件名称,用于在组件列表中显示组件名称...,设置为 true 则不会被注册(组件弃用时可设置为 true) * @property {Boolean} [hidden] 是否隐藏组件,设置为 true 则不会在组件列表中显示(组件即将弃用时可设置为...Vue 组件并没有太大区别,只是多了一个 widget 配置对象,该对象用于在组件列表中显示组件名称和图标,以及配置组件的默认参数、宽高等信息。...组件中注入了 $dashboard 对象,用于在组件中调用仪表盘的方法。...另外,组件中还提供了一些钩子函数,用于在组件移动、调整大小、刷新、配置等操作时触发,这些钩子函数可以用于组件的数据更新、保存等操作。

15720

【C#】组件分享:FormDragger窗体拖拽

适用:.net2.0+ winform项目 介绍: 类似QQ、迅雷等讲究UI体验的软件,都支持在窗口内多处地方拖动窗口,而不必老实巴交的去顶部标题栏拖,这个组件就是让winform也能这样随性拖拽,随性度或更甚...可拖拽的地方包括不限于: 窗体、Panel、GroupBox、TabControl等容器控件的空白区; 菜单栏、工具栏、状态栏等bar的空白区,以及无效项目; Label、PictureBox、ProgressBar...用法: 先看公开成员: //拖拽器开关 bool Enabled { get; set; } //排除列表。...可向其中添加或移除控件实例,处于列表中的控件不接受拖拽 List ExcludeControls { get; } //事件:准备拖拽时发生,可用e.Cancel = true取消拖拽...EnabledChanged; 使用挺简单,随时随地FormDragger.Enabled = true/false就能开闭拖拽功能,比如在Main函数中就可以开好,完了程序内的所有自建窗体就可以愉快的拖拽

1.4K20

Cocos Creator基础教程(11)—可拖拽组件

在Cocos Creator中实现一个可拖动组件,只需对目标节点拖拽配置就能让节点任意移动,这对策划、美术人员来说是不是很有杀伤力! 1....创建测试场景 在实现一个组件代码之前最好新建一个测试场景,组件代码在测试场景中通过了基本测试之后再放入正式环境使用。...而且在组件完成后,测试场景最好也不要丢弃了,等我们以后为组件升级或修改BUG时,可用于快速检验修改是否正确。 ? 初始化工程 2....实现可拖拽组件 我们来看下组件代码非常简单,就算你不会编程,根着注释相信也能明白个大概: cc.Class({ extends: cc.Component, onLoad() {...我给目标节点挂载了一个Layout组件,设置成GRID模式,实现自动网格排列,很像游戏中的物品包裹功能,这个组件真的是物超所值哦! 4.

4.2K30

轻松教你搞定组件拖拽, 缩放, 多控制点伸缩和拖拽数据上报

最近笔者专注于研究可视化搭建平台的解决方案, 分析了很多拖拽组件和页面动态化技术, 也在 H5-Dooring 项目中做了很多技术实现, 包括: 搭建平台的组件设计和分类模式 拖拽生成页面方案 动态表单编辑器设计...页面实时预览编译技术 自定义组件和自定义模版方案 多人协作的可视化搭建模式实现 还有很多技术细节这里不一一举例了, 最近在研究自由布局时发现有这样一个需求, 我们可以自由拖拽和缩放组件, 并能从组件的不同纬度拖拽...我们从可视化搭建平台的实际业务出发, 可以分析出拖拽缩放有如下几个功能点: 自由拖拽 支持控制点, 多方位缩放 支持自由控制层级 支持组件静态化(即为了实现固定, 预览页面等效果) 拖拽缩放的数据能回传给上层组件并提供受控机制...实现以上四点我们就可以实现一个可用的拖拽缩放组件....实现自由拖拽 rc-drag未压缩的体积只有20多k, 去除注释核心代码不到200行, 可以说是一个非常轻量的拖拽缩放组件库了, 我们要想让自己的组件能自由拖拽, 只需要使用如下方式: 安装 npm i

91320

React可视化拖拽组件编辑代码生成

mobile.png pc.png 特性: 任意拖拽嵌套:通过组件预览面板拖拽组件,到设计面板实现任意嵌套,设计面板中的组件也可随意拖拽嵌套 实时预览:设计面板中会实时展示组件的属性效果和样式效果,...并且与真实页面无异 DomTree展示:页面组件dom树的展示并实现dom实时追踪 可视化属性配置:结合React 特性和JS语法定制了可视化的组件属性配置,实现复杂数据结构的可视化配置 可视化样式配置...:通过样式配置面板修改样式,实时在页面中显示样式效果 模板功能:可以选中局部或者整个页面做为可复用的模板,提高页面配置效率减少重复工作 组件约束:根据组件特性配置组件约束,减少组件间的错误嵌套和报错 预览与代码生成...:可随时预览页面的真实效果,和页面的jsx代码与样式代码 多平台支持 :支持PC与移动端多型号设配切换展示 组件库替换 :通过简单的配置可以对接任何React组件库 github地址 在线预览

3.6K30

分享一个自由拖拽组件的实现思路

点击上方关注 前端技术江湖,我们一起学习,天天进步 最近的项目中遇到一个需求,在页面上添加一个可以自由拖拽、缩放、编辑颜色的 svg 图片,项目中引用了两个现有的插件,对插件进行解读之后略有心得,与大家分享一下...自由拖拽缩放的节点 —— react-rnd 说到拖拽,我们的第一反应当然是监听鼠标事件来修改 dom 元素的位置,而缩放的话,则是在对元素边界进行操作时重新修正元素的 position 和 width...此时我们理论上已经实现了 dom 元素的拖拽和缩放,但是在添加了 svg 图片之后我们很快发现,由于外层的拖拽是由 document.addEventListener 来实现的,但是我们在 mouseDown...此时我们发现,我们添加的 svg 图片已经可以自由的拖拽和缩放了。...尾声 以上就是我们在做给页面上添加一个可以自由拖拽、缩放、编辑颜色的 svg 图片时总结的一些东西,希望对各位有所帮助。

2.2K40

从0到1设计通用数据大屏搭建平台

拖拽插件:dnd-kit (满足树状结构视图的跨组件拖拽)布局插件:React-Grid-Layout(网格自由布局,修改源码,支持多个方向的拖拽,自由布局、锁定缩放比等)3.2 架构设计下图是我们搭建平台的整体架构设计...+ 组件定义层(类型、从属关系、初始化宽高等)① component 组件主体:可视化框架选型:行业主流可视化库有 Echart、Antv、Chart.js、D3.js、Vega、DataV-React...基于可视化的通用性和定制性的需求,我们选择了 Echart、DataV-React 作为基础组件的开发框架,面对定制性要求更高的自定义组件,我们选择了可视化粒度更小的 D3.js。...3、拖拽器实现背景:React-Grid-Layout 拖拽插件不支持自由布局和组件不同纬度拖拽:解决方案:通过分析源码,对不同纬度的拖拽事件以及拖拽目标碰撞事件进行了重写,并且也拓展了锁定宽高比、旋转透明度等功能...源码分析:resize伸缩特性增强(优化),拖拽的同时,除了修改容器宽高外,也动态调整了组件的坐标位置// CSS Transforms support (default)if (useCSSTransforms

3.1K40

关于后台管理系统可拖拽组件的设计思路

比如: image.png 对于这类的页面,我们完全可以设计一个组件,使用拖拽的方式,将组件一个个拖到指定区域,进行结构组装,然后再写一个对组装数据的渲染组件,渲染成页面即可。...如下: image.png 需要处理的问题 数据结构的组装 组件列表的选择 组件拖拽处理 组件的配置信息配置 请求的处理 下拉选项数据的处理 table 组件的设计 按钮与弹窗的处理 弹窗与表格数据的联动...table 组件是固定位置的,所以这里就直接定死了,如果想直接拖拽定位,直接在数据顶层加 children 字段即可,然后可以进行拖拽排序位置。...复制代码 组件拖拽处理 对于组件拖拽处理,我们可以直接使用 H5 的 draggable[1],首先是左侧的组件列表的每一个组件都是可以拖拽的,在拖动到中间展示区域的时候,我们需要获取 drop...第一个位置是 table 上方的按钮位置区域 第二个位置是 column 操作列的按钮位置区域 最后 后台管理系统可拖拽组件,大体的设计思路就这样。主要分为两大块:页面配置和页面渲染两个组件

1.2K20

HT for Web列表和3D拓扑组件拖拽应用

很多可视化编辑器都或多或少有一些拖拽功能,比如从一个List列表中拖拽一个节点到拓扑组件上进行建模,并且在拖拽的过程中鼠标位置下会附带一个被拖拽节点的缩略图,那么今天我们就来实现这样的拖拽效果。...,我们该如何将这两个组件组合在一起呢?...这时候,我想到了BorderPane组件,将List组件放在左边,将3D拓扑组件放在右边: var borderPane = new ht.widget.BorderPane(); borderPane.setLeftView...在prepare状态时获取当前拖拽节点的ProductId属性,并通过调用ht.Default.toCanvas()方法将当前拖拽节点结合矢量productIcon获得一个canvas对象; 2....在end状态时,如果当前鼠标位置在某个图元表面时,就将当前拖拽节点的对应的图片做为当前图元表面的贴图。

1K60
领券