You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

mxGraph如何监听单元格移动或调整大小事件并输出单元格值

mxGraph 单元格移动、调整大小监听实现方案

你之前监听未生效是因为移动、调整大小类事件的返回属性结构和LABEL_CHANGED不同,且需使用操作完成后触发的对应事件:

  1. 单元格移动完成会触发mxEvent.CELLS_MOVED事件
  2. 单元格调整大小完成会触发mxEvent.CELLS_RESIZED事件
  3. 这两个事件携带的所有被操作单元格存在cells数组属性中,支持批量操作场景的监听

你只需要在原有LABEL_CHANGED监听代码的位置新增以下代码即可:

// 监听单元格移动完成事件
graph.addListener(mxEvent.CELLS_MOVED, function (sender, evt) {
    const moveCells = evt.getProperty('cells');
    moveCells.forEach(cell => {
        if (cell) {
            console.log('移动单元格值:', cell.value);
        }
    });
});

// 监听单元格大小调整完成事件
graph.addListener(mxEvent.CELLS_RESIZED, function (sender, evt) {
    const resizeCells = evt.getProperty('cells');
    resizeCells.forEach(cell => {
        if (cell) {
            console.log('调整大小单元格值:', cell.value);
        }
    });
});

如果需要在操作触发前做拦截校验,可以替换为mxEvent.MOVE_CELLS和mxEvent.RESIZE_CELLS事件,属性获取逻辑一致。

内容的提问来源于stack exchange,提问作者Khanh Tran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 11:09:01