Изменить цвет узла onclick реагировать-d3-график - PullRequest
0 голосов
/ 23 марта 2020

Я создал очень базовый c сетевой граф с узлами и связями между узлами с помощью модуля реагирования d3-graph. Как я могу позволить своим пользователям изменять цвет узла, дважды щелкнув по нему?

Вот документы, которые я использую для библиотеки, которую я использую: https://goodguydaniel.com/react-d3-graph/docs/

Примечание: у меня также есть пустая функция щелчка в моем коде, которая получает идентификатор узла, по которому пользователь щелкает.

Вот мой код:

class App extends Component {
  constructor(props) {
    super(props)
    this.state = {
      data: {
        nodes: [
          {id: 'Harry'},
          {id: 'Saly'},
          {id: 'Aly'}
        ],
        links: [
          {source: 'Harry', target: 'Aly'},
          {source: 'Harry', target: 'Saly'},
        ]
      },
      myConfig: {
        nodeHighlightBehavior: true,
        node: {
          color: 'lightgreen',
          size: 120,
          highlightStrokeColor: 'blue'
        },
        link: {
          highlightColor: 'lightblue'
        }
      }
    }
  }

  render() {
    return (
      <div className="App">
        <Graph
          id='graph-id' // id is mandatory, if no id is defined rd3g will throw an error
          data={this.state.data}
          config={this.state.myConfig}
          onClickGraph={onClickGraph}
          onClickNode={onClickNode}
          onDoubleClickNode={onDoubleClickNode}
          onRightClickNode={onRightClickNode}
          onClickLink={onClickLink}
          onRightClickLink={onRightClickLink}
          onMouseOverNode={onMouseOverNode}
          onMouseOutNode={onMouseOutNode}
          onMouseOverLink={onMouseOverLink}
          onMouseOutLink={onMouseOutLink} 
        />
      </div>
    );
  }
}

1 Ответ

1 голос
/ 23 марта 2020

Согласно документации , мы можем передать цвет как атрибут. Все, что нам нужно сделать сейчас, это использовать этот обработчик двойного щелчка. Я верю, что пример будет полезен.

...