相关疑难解决方法(0)

cytoscape.js 图的条件样式

我想根据全局 Javascript 变量更改图形的样式。例如,假设我的边得到了nameprice属性,我想根据全局label_type变量使边的标签不同:

let lable_type = 'I_want_name_labels'
switch(lable_type) {
  case 'I_want_name_labels':
    cy.style().selector('edge').style({'label': 'data(name)'});
    break;
  case 'I_want_price_labels':
    cy.style().selector('edge').style({'label': 'data(price)'});
    break;
}
Run Code Online (Sandbox Code Playgroud)

上面的代码根本没有做任何事情(没有显示标签),我真的不明白为什么。我的边缘具有以下结构:

{
  "data": {
    "id": "node_node2",
    "source": "node1",
    "target": "node2",
    "directed": true,
    "name": "Baltazar",
    "price": 1095.73
  }
}
Run Code Online (Sandbox Code Playgroud)

注意:我尝试使用cy.filter('edge').style({'label': 'data(name)'}),但data似乎无法通过这种方式访问​​,我收到了以下警告:

The style property `label: data(name)` is invalid
Run Code Online (Sandbox Code Playgroud)

那么,如何使用 cytoscape.js 获得条件样式?我在这里错过了什么?

javascript styles graph conditional-statements cytoscape.js

2
推荐指数
1
解决办法
1249
查看次数