Что должен принять второй параметр `simulate? - PullRequest
0 голосов
/ 14 мая 2018

Я знаю, что в simulate мы обычно можем сделать что-то вроде:

simulate("change", { target: { value: '7' } });

Но что мне передавать во втором параметре, если моя onChange функция принимает объект в качестве параметра?

interface myObject{
  firstname: string;
  lastname: string;
}

myChangeFunction(item: myObject) {
   /* */
}

Обратите внимание, что я пытался:

const updates = { firstname: "john", lastname: "doe" };
simulate("change", { target: updates });

and

simulate("change", updates );

Но это не сработало.

1 Ответ

0 голосов
/ 26 февраля 2019

Функция simulate имитирует события, и ваш myChangeFunction ожидает item в качестве параметра вместо event.

Не уверен, как вы определяете onChange в своем компоненте, но если вы попытаетесь изменить только ваш интерфейс на что-то вроде:

interface myObject {
  target: {
    firstname: string;
    lastname: string;
  }
}

myChangeFunction(item: myObject) {
   // here should output { firstname: "john", lastname: "doe" }
   console.log(item.target);  
}

и

const updates = { firstname: "john", lastname: "doe" };
simulate("change", { target: updates });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...