В TypeScript, как я могу изменить сторонний интерфейс? - PullRequest
0 голосов
/ 18 сентября 2018

В данный момент я работаю со следующим GridOptions интерфейсом:

https://github.com/ag-grid/ag-grid/blob/f065d96ee682d4c43a7275f35935d122d9faeee6/packages/ag-grid-community/dist/lib/entities/gridOptions.d.ts

Согласно API:

https://www.ag -grid.com / javascript-grid-events /

onFirstDataRendered должен существовать на интерфейсе, но его нет.

В моем коде я используюИнтерфейс выглядит следующим образом:

import { GridOptions } from "ag-grid/main";
private gridOptions: GridOptions = <GridOptions>{};

Как изменить интерфейс, чтобы сделать onFirstDataRendered доступным?

Редактировать:

На странице API есть следующее примечание:

This is done by prefixing the event name with 'on', for instance gridOptions.onCellClicked.

Например, вы можете видеть, что gridReady в API переводится в onGridReady в следующем коде:

https://github.com/ag-grid/ag-grid/blob/f065d96ee682d4c43a7275f35935d122d9faeee6/packages/ag-grid-community/dist/lib/entities/gridOptions.d.ts

1 Ответ

0 голосов
/ 18 сентября 2018

Попробуйте "firstDataRendered" вместо "onFirstDataRendered"?

Редактировать:

Хмм.Кажется, у них есть какая-то ошибка, потому что ни «onFirstDataRendered», ни «firstDataRendered» не отображаются в интерфейсе GridOptions, в отличие от обещанного здесь «Все эти события сетки доступны черезИнтерфейс GridOptions. "

BTW здесь вы можете увидеть константы событий, которые облегчат вам жизнь (по крайней мере, вы не будете вводить имя события неправильно).

Чтобы расширить интерфейс, вы должны сделать это:

private gridOptions: GridOptions & {onFirstDataRendered: any} = {}; // "any" because i don't know what type the value should have. I removed the type guard (<GridOptions>) because it is redundant, moreover typeguards are deprecated in favor of "as GridOptions" syntax.

PS и да, другой парень сказал, что это новая функция.Однако он опубликован на npm (v.19.0.0).Но, похоже, глючит (не в интерфейсе).Вы должны создать проблему об этом в их репозитории github.

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