Angular ngx-диаграммы как получить номер оси x

У меня есть вертикальная диаграмма Angular Ngx, и мне нужно получить только номер оси x. Я хочу использовать этот номер оси x в функции onSelect.

HTML:

  <ngx-charts-bar-vertical
        [xAxisLabel]="xAxisLabel"
        [yAxisLabel]="yAxisLabel"
        (select)="onSelect($event)"
        [results]="dataSource">
  </ngx-charts-bar-vertical>

Источник данных :

[{userId: 5, name: "Пример имени пользователя", значение: 69.6} ...]

Я действительно хочу получить часть userId, но не смог. Когда я выбираю панель, onSelect получает только части «name» и «value», но не 'userId < / strong> 'часть.

На самом деле я хочу, чтобы это было прямо противоположно этому: https://github.com/swimlane/ngx-charts/issues/409
Здесь я хочу скрыть все данные, но хочу получать все данные, когда нажимаю на панель.

Так что я думаю, что:

  • Получить номер оси x
  • userId = источник данных [xAxisNumber] .userId;

Как я могу это сделать ?


person mevaka    schedule 29.04.2018    source источник


Ответы (2)


Поскольку у вас уже есть имя, вы можете использовать метод array.find () для получения значений userId следующим образом:

const userId = dataSource.find(t=>t.name === 'onselectedname').userId;
person Sajeetharan    schedule 29.04.2018
comment
Извините, но этот метод не работает из-за тех же имен пользователей - person mevaka; 29.04.2018
comment
затем используйте array.filter () и получите доступ к 0-му имени - person Sajeetharan; 29.04.2018
comment
@mevaka что? я не понимаю - person Sajeetharan; 29.04.2018
comment
Подумайте об этом: у вас есть 5 данных с одинаковым именем и значением, если вы используете эту технику, вы можете показывать только данные 0ht каждый раз, но вы также хотите показывать данные 0, 1, 2 и т. Д. Да, я знаю, что могу создать вспомогательная переменная для подсчета того, сколько раз я щелкнул и ссылался на нее, но один и тот же набор значений не только один, например, у меня есть 100 данных, 5 из них значение 6, 7 из них значение 5 и т. д. Я хочу получить доступ только количество данных, которые ссылаются именно на то, что я щелкнул, потому что у меня много данных, и некоторые из них действительно такие же. - person mevaka; 29.04.2018

Я нашел простое решение: добавил только поле extra, и все в порядке.

Теперь мой dataSource такой:

{name: 'User Name', value: 40,32, extra: {userId: 17}

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

Мне это помогло: https://github.com/swimlane/ngx-charts/issues/506

person mevaka    schedule 29.04.2018