我將節點標籤映射到節點「name」屬性,並且當名稱更改時,我需要在cy畫布上更新標籤。我一直在使用的樣式cytoscape.js中的動態節點內容(標籤)
style: cytoscape.stylesheet()
.selector('node')
.css({
'color': '#000000',
'content': 'data(name)',
'text-valign': 'center',
'background-color': '#FFFFFF',
'border-width': 1,
'border-color': '#707070'
})
和節點
cy.add(
{ group: "nodes", data: { id: "n0", name: 'name' }, position: { x: 100, y: 100 } }
);
和更新與
cy.$('#n0').data('name', 'newName')
使用2.2.10的節點,該節點的標籤(內容)更新畫布如預期。從升級到版本2.3.1以後,這不再起作用。任何有關如何實現這一目標的建議將不勝感激!
編輯 我不知道爲什麼不起作用,但對於其他人有這個問題,暫時我使用eles.flashClass(),以很簡單的刪除了該節點的標籤我節點。當臨時類被刪除時,正確的標籤被渲染。例如。
在初始化設置的CSS樣式.selector('node.nolabel')
.css({
'content': ''
})
然後重命名節點
cy.$('#n0').data('name', 'newName').flashClass('nolabel',1) //class applied for 1ms then removed
這工作,但它似乎並不像它應該是必要的,我真的很想知道爲什麼
content: 'data(name)'
不工作 - 我不知道這是一個錯誤還是我做錯了什麼,只是它的工作原理以下版本2.3.0
太好了,謝謝!在我知道我不是錯誤地使用最新版本之前,不想公開問題。 – dbean 2014-10-03 13:01:54