【乐吾乐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);

相关推荐
编程社区管理员12 小时前
React 发送短信验证码和验证码校验功能组件
前端·javascript·react.js
qiaochuanbiao12 小时前
三种方式修改AI生成的流程图,实现无损放大
流程图
全马必破三12 小时前
React“组件即函数”
前端·javascript·react.js
三思而后行,慎承诺12 小时前
React 底层原理
前端·react.js·前端框架
座山雕~12 小时前
html 和css基础常用的标签和样式
前端·css·html
angleoldhen13 小时前
简单的智能数据分析程序
python·信息可视化·数据分析
灰小猿13 小时前
Spring前后端分离项目时间格式转换问题全局配置解决
java·前端·后端·spring·spring cloud
im_AMBER13 小时前
React 16
前端·笔记·学习·react.js·前端框架
02苏_13 小时前
ES6模板字符串
前端·ecmascript·es6
excel14 小时前
⚙️ 一次性警告机制的实现:warnOnce 源码深度解析
前端