Диаграмма не отражает активные записи, если я не установил ее в array.slice () в разметке - это отключит выбор точек - Stackblitz внутри - PullRequest
2 голосов
/ 09 мая 2019

На линейном графике есть событие выбора, где вы можете выбрать точки и элементы легенды. Линейный график имеет свойство ввода activeElements, которое принимает массив активных элементов.

Линейный график не будет реагировать на изменения вмассив activeElements, если вы не введете его в разметку, используя .slice () либо как локальную переменную, либо как объект состояния избыточности:

[activeEntries]="array.slice()"
[activeEntries]="(array | async).slice()"

Это работает, но затем событие (select) не вызывается при нажатии набольше очков.

Если вы, однако, удалите .slice () - вы сможете выбрать оба варианта - но диаграмма больше не будет реагировать на изменения activeEntries, несмотря ни на что.

Это включает в себя наличие в объекте activeEntries избыточного объекта состояния, в котором все состояние является новым объектом при каждом изменении - вызов везде changeDetection вообще не влияет на него.

Вот блик стека: https://stackblitz.com/edit/angular-ngx-charts-testing-stuff?file=src/ - stackblitz.

Я прокомментировал код и разметку везде, чтобы вы могли понять, что я пытаюсь сделать в коде.

Я хотел бы иметь возможностьщелкнуть по точкам + легенде при использовании .slice () или заставить диаграмму реагировать на изменения в массиве activeEntries.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...