невозможно получить доступ к типам, которые реализуют интерфейс при разборе данных из запроса GraphQL - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть файл methodfragment.ts, который автоматически создается для запроса фрагмента graphql. Я использовал команду npm run generate --graphql.

В запросе у нас есть интерфейс formElement, который может быть входом, выбор, радио и т. Д. c на основе данных. Данные выглядят примерно так:

    inputs[{
     formElements:{
        identifier: "first_name_input",
        label: "First name",
         placeholder: "" 
}
},{
formElement:{
  identifier: "select_year",
  label: "year",
  options:["1999","2000", "2001"]
}}]

в моих методах например:

methods.map(formEle) =>{
  switch(formEle.identifier):
    case "select_year" :
      console.log("options length" + formEle.options); // at this line i get the error 
}

Сообщение об ошибке: «Параметры свойства не существуют для типа inputRows_formElements». Я не уверен, как устранить эту ошибку.

1 Ответ

0 голосов
/ 27 апреля 2020

Чтобы устранить эту ошибку, используйте ключевое слово as, предоставленное в trypescript. Поэтому, когда вы получаете доступ к данным для опций, вы делаете что-то вроде:

methods.map(formEle) => {
  switch(formEle.identifier):
    case "select_year" :
      let curElement = formEle as inputRows_formElements_yearDropdown
      console.log("options length" + formEle.options); 
}

Это должно решить эту проблему.

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