gpt4 book ai didi

javascript - 无法以编程方式关闭格式化文本

转载 作者:数据小太阳 更新时间:2023-10-29 05:37:15 26 4
gpt4 key购买 nike

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

这是我的尝试:

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();
}

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

最佳答案

替换:

graph.setCellStyles('html', null);

与:

state.style['html'] = null;

关于javascript - 无法以编程方式关闭格式化文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54251374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com