我有简单的python flask应用程序,我将JSON
数据发送到我的HTML
和goJS
我显示的图形如下所示:
我想在输入中更改我选择的节点文本,当我点击"update node text"
按钮时,我想用input
中的文本更新节点文本。我在这个图表监听器的帮助下设法得到了节点文本:
myDiagram.addDiagramListener("ObjectSingleClicked", function(e) {
console.log("clicked!");
var part = e.subject.part;
//part.data is the node object
if (!(part instanceof go.Link)) {
console.log("its not link!");
console.log(part.data);
document.getElementById("nodeText").value = part.data.text;
} else {
console.log("its link!");
}
});
我对更新节点文本感到困惑,并且不知道该怎么做。另外我想用链接文本做同样的事情。我搜索和谷歌搜索,但没有解决方案也没有例子。任何帮助将不胜感激。
答案 0 :(得分:2)
首先我应该说允许用户在图表中编辑文本的最常用方法是将TextBlock.editable设置为true并添加TwoWay Binding TextBlock.text 一些数据属性。这允许用户就地编辑文本而不是单独的HTML字段。
但是在HTML字段中编辑属性是很常见的。假设至少有一种方式从某个数据属性绑定到节点中的 TextBlock.text 属性,那么textarea的blur(或更改?)事件处理程序只需要在其中调用Model.setDataProperty交易。详细了解modifying models和transactions。
最后,如果您希望允许用户编辑许多属性,特别是如果属性数量可能不同,您可能希望使用GoJS DataInspector。它由Org Chart Editor sample和Data Inspector sample来证明。