#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.