【问题标题】:Can't turn off Formatted Text programmatically无法以编程方式关闭格式化文本
【发布时间】:2019-01-18 09:50:48
【问题描述】:

我正在尝试以编程方式关闭图表中每个单元格的格式化文本,这样我就可以避免在 mxgraph 编辑器(类似于 Draw.io)中出现 Not supported by viewer

这是我的尝试:

graph.stopEditing();
graph.getModel().beginUpdate();

try
{
    var cells = graph.getChildCells(graph.getDefaultParent());
    cells.forEach(function (cell)
    {
        var state = graph.getView().getState(cell);
        if (state == null)
        {
            return;
        }
        if (state.style['html'] != '1') {
            return;
        }

        var label = graph.convertValueToString(state.cell);
        if (mxUtils.getValue(state.style, 'nl2Br', '1') != '0')
        {
            label = label.replace(/\n/g, '').replace(/<br\s*.?>/g, '\n');
        }

        // Removes HTML tags
        var temp = document.createElement('div');
        temp.innerHTML = label;
        label = mxUtils.extractTextWithWhitespace(temp.childNodes);

        graph.cellLabelChanged(state.cell, label);
        graph.setCellStyles('html', null);
    });

    ui.fireEvent(new mxEventObject('styleChanged', 'keys', ['html'],
        'values', ['0'], 'cells', cells));
}
finally
{
    graph.getModel().endUpdate();
}

但它似乎不起作用(即,如果 我从“格式”面板中的复选框中将其关闭,它会起作用;但是这样,我仍然会在我的SVG) 我做错了什么?

【问题讨论】:

    标签: javascript mxgraph


    【解决方案1】:

    替换:

    graph.setCellStyles('html', null);
    

    与:

    state.style['html'] = null;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-04
      相关资源
      最近更新 更多