Как получить свойства события ‘resize’ из ngx-datatable

#angular #dom-events #ngx-datatable #custom-events

#angular #dom-события #ngx-datatable #пользовательские события

Вопрос:

Я создал обработчик событий для события resize для ngx-datatable в Angular 10. Кажется, что он срабатывает правильно, но как мне перейти к фактическим свойствам?

Выходная полезная нагрузка (т. Е. Свойства) События

 {
  column,
  newValue
}
 

но где они? Я отобразил событие в инструментах разработчика Chrome, кажется, оно срабатывает при изменении размера таблицы данных (т. Е. Изменяется ширина столбца), и параметр события отображается вместе со свойствами, но где значения столбца и newValue?

Я загрузил исходный код демонстрационных версий и просмотрел исходный код и, похоже, ничего не могу найти.

введите описание изображения здесь

Мои фрагменты кода похожи:

Угловой шаблон

 ...
  <div>
    <ngx-datatable #myTable (resize)="onColumnResize($event)">
        <ngx-datatable-column
          ...
        </ngx-datatable-column>
        <ngx-datatable-column
          ...
        </ngx-datatable-column>
    </ngx-datatable>
  </div>
...
 

Компонент

 export class ResponsiveComponent {
  constructor( private renderer : Renderer2) {
    ...
  }

  onColumnResize(resizeEvent) {
    console.log(resizeEvent);
  }

}
 

Я эффективно модифицировал адаптивный пример (не то, чтобы это действительно имело значение). Я также пробовал console.log(resizeEvent.column) и несколько других вариантов, но инструменты разработчика браузера говорят, что оно не определено.

Моя настройка — Chrome 87 (обновлена) и выглядит следующим образом:

введите описание изображения здесь

Ответ №1:

Я протестировал его с последней доступной версией, и событие, похоже, было отправлено правильно. Пожалуйста, обратитесь к образцу реализации в Code Sandbox

введите описание изображения здесь

Комментарии:

1. Спасибо, но, похоже, я не могу отобразить эти данные! Ваш скриншот из инструментов разработчика браузера? Если да, то какой? У вас были какие-то настройки? Я пробовал это в Chrome и Firefox, и он запускается, и я получаю данные ‘Event’, но я не вижу этого свойства / объекта ‘column’. Как вы его просмотрели? Я также запустил ваш пример, но консоль CodeSandbox (и моя локальная консоль браузера), похоже, не запускает событие (т. Е. Я не вижу консоль. войдите в обработчик ‘OnResize (событие)’)

2. вы можете напрямую получить доступ к приложению по адресу gp3my.csb.app и проверить, что консоль регистрируется.

3. Привет @Lambo12. Я запустил gp3my.csb.app на новой вкладке Chrome, открыл консоль в инструментах разработчика на этой вкладке, но при изменении размера окна событие, похоже, не срабатывает при изменении размера. То же самое происходит в консоли браузера Firefox.

4. У меня нет firefox, но я тестировал его в chrome, он выдает событие при изменении размера столбца

5. Спасибо, что подтвердили это. Я абсолютно в тупике по этому поводу. Я на Windows 7. Я попробую несколько разных ОС, возможно, какой-нибудь дистрибутив nix, Safari и телефон Android.