Как написать обработчик DragEvent с TypeScript - PullRequest
0 голосов
/ 21 апреля 2020

Я хочу написать простое приложение перетаскивания с TypeScript. Я хочу основать его на этом примере от mdn.

Этот пример содержит что-то вроде следующего обработчика перетаскивания:

function dragstart_handler(ev) {
  ev.dataTransfer.setData("text", ev.target.id);
  ev.effectAllowed = "copyMove";
}

Я попытался изменить это на следующее TypeScript.

function onDrag(ev: DragEvent): void {
  ev?.dataTransfer?.setData("text", ev?.target?.id);

  if (ev?.dataTransfer?.dropEffect) {
    ev.dataTransfer.dropEffect = "copy";
  }
}

Затем я сталкиваюсь со следующей ошибкой:

Property 'id' does not exist on type 'EventTarget'.

Когда я читаю определение типа для DragEvent и следую до EventTarget, я вижу, что это правильно. Свойство id отсутствует.

Как устранить эту ошибку? Кроме того, почему тип EventTarget не имеет идентификатора?

...