【乐吾乐2D可视化组态编辑器】生命周期

生命周期

乐吾乐2D可视化组态编辑器demo:https://2d.le5le.com/

全局生命周期函数

复制代码
meta2d.beforeAddPens = async (pens: Pen[]) => {
  console.log("addPens", pens);

  // showDialog 伪代码
  const res = await showDialog("是否添加此图元?");
  // 返回 true 允许 remove
  return res.ok;
};

// 删除组合节点时, beforeRemovePens 会多次触发
meta2d.beforeRemovePens = async (pens: Pen[]) => {
  console.log("removePens", pens);
  // showDialog 伪代码
  const res = await showDialog("是否删除所选图元?");
  // 返回 true 允许 remove
  return res.ok;
};

meta2d.beforeAddAnchor = async (pen: Pen, anchor: Point) => {
  // showDialog 伪代码
  return await showModal("添加锚点");
};

meta2d.beforeRemoveAnchor = async (pen: Pen, anchor: Point) => {
  // showDialog 伪代码
  return await showModal("删除锚点");
};

// 定义一个pen,矩形
const pen = {
  name: "rectangle",
  text: "矩形",
  x: 100,
  y: 100,
  width: 100,
  height: 100,
  tag: ["aaa"],
};
meta2d.addPen(pen);

画笔生命周期函数

生命周期函数类型均为:(pen: Pen) => void , 除了 onBeforeValue, onChangeId

  • onAdd 画笔添加到画布后
  • onDestroy 画笔被删除后

其他相关函数:

  • onBeforeValue 属性值发生改变前

  • onValue 属性值发生修改

  • onMove 被移动拖拽

  • onResize 修改大小

  • onRotate 旋转

  • onClick 单击

  • onMouseDown 鼠标按下

  • onMouseMove 鼠标移动

  • onMouseUp 鼠标抬起

  • onMouseEnter 鼠标经过

  • onMouseLeave 鼠标离开

  • onShowInput 开始输入

  • onInput 完成输入

  • onChangeId id 改变

  • onKeyDown 键盘按下

  • onScale 缩放

  • onBinds 绑定变量处理

  • onStartVideo 开始视频

  • onPauseVideo 暂停视频

  • onStopVideo 停止视频

  • onRenderPenRaw 下载png/svg前,pen绘制处理。

  • onWheel 鼠标经过图元,滚轮缩放 (version>=1.0.25)

    const onAddPen = (pen: Pen) => {
    console.log("onAddPen", pen);
    };

    // 定义一个pen,矩形
    const pen = {
    name: "rectangle",
    text: "矩形",
    x: 100,
    y: 100,
    width: 100,
    height: 100,
    onAdd: onAddPen,
    };
    meta2d.addPen(pen);

相关推荐
用户4099322502125 分钟前
FastAPI的查询白名单和安全沙箱机制如何确保你的API坚不可摧?
前端·后端·github
前端小巷子14 分钟前
深入 npm 模块安装机制
前端·javascript·面试
要加油哦~1 小时前
工具 | 解决 VSCode 中的 Delete CR 问题
ide·vscode·编辑器
qq_三哥啊1 小时前
【HTML】<script>元素中的 defer 和 async 属性详解
html·js
cypking1 小时前
electron中IPC 渲染进程与主进程通信方法解析
前端·javascript·electron
西陵1 小时前
Nx带来极致的前端开发体验——借助playground开发提效
前端·javascript·架构
江城开朗的豌豆2 小时前
Element UI动态组件样式修改小妙招,轻松拿捏!
前端·javascript·vue.js
float_六七2 小时前
JavaScript:现代Web开发的核心动力
开发语言·前端·javascript
zhaoyang03012 小时前
vue3笔记(2)自用
前端·javascript·笔记
德育处主任Pro3 小时前
# JsSIP 从入门到实战:构建你的第一个 Web 电话
前端