0.1.6 • Published 2 years ago

icon_tool v0.1.6

Weekly downloads
-
License
MIT
Repository
-
Last release
2 years ago

icon_tool 组件

功能:

左边编辑区(画布),右边图标区(工具栏); 从工具栏拖拽图标至画布,画布区域图标可以旋转、拉伸、拖拽; 有 ctrl+z(command+z)撤销功能; 新创建的图标会覆盖原先创建的图标,但是图标空隙部份是透明的,效果不明显。

用法:

通过 Vue.use()安装组件

import icon_tool from "icon_tool"
Vue.use(icon_tool)

图标则需要引入自定义的图标 css 文件,将图标类形成数组以 iconList 参数传给 IconTool 组件。

注意 组件使用到了 element-ui 的部分图标,需要引入 element-ui 的样式库,否则会导致图标的显示错误。 如果你安装了 element-ui 组件库,则需要:

import "element-ui/lib/theme-chalk/index.css"

本组件也上传了 element-ui 的图标样式库,如果你未安装 element-ui 组件库,则可以:

import "icon_tool/lib/icon.css"

属性:

IconTool 标签

整合画布和工具栏,具有完整功能。

参数

插槽

名称说明
menu工具栏中的自定义菜单栏

IconList 标签

工具栏。

参数

名称是否必要类型默认值说明
arraytrueArray/图标类数组
iconSizefalseNumber50图标大小,单位为 px,最小 16

事件

名称说明回调参数
dragEnd拖拽结束时触发的函数两个参数,第一个是一个 String,为拖动的图标名;第二个是一个 Object,为拖动结束时鼠标的坐标

SingleIcon 标签

画布中单个图标,有旋转、缩放、拖拽的功能。

参数

名称是否必要类型默认值说明
iconInfotrueObject/图标信息,需要 id、name(类名)、isFocus(用于选中图标)、location(图标中心的位置)。
borderfalseObject/DOMRect{left: 0,top: 0,right: 1920,bottom: 1080,}图标能够操作的边界
iconSizefalseNumber70图标大小,单位为 px,注意要在原图标大小上加 20
zoomfalseBooleantrue开启图标缩放功能
spinfalseBooleantrue开启旋转功能

事件

名称说明回调参数
delete点击删除按钮、点击键盘 delete 或退格键触发Object,记录删除前图标状态
change旋转、缩放、拖动开始时触发Object,记录操作变更前状态

问题:

现发现撤销功能可能与浏览器快捷键冲突(mac 端) 工具栏放左边时可能有拖动的动画 bug,但是不妨碍功能的正常使用


0.1.6

2 years ago

0.1.5

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago