Свойство ‘setParentKeyForNodeData’ не существует для типа ‘Модель’. Вы имели в виду ‘setCategoryForNodeData’?

#angular #gojs

#angular #gojs

Вопрос:

Я использую gojs и организационную схему. Существует 3 контекстных меню. В «Удалить роль» я получаю Property 'setParentKeyForNodeData' does not exist on type 'Model'. Did you mean 'setCategoryForNodeData' сообщение об ошибке

Код

 myDiagram.model.setParentKeyForNodeData(emp.data, node.findTreeParentNode().data.key);
                      
       
  

Я упомянул версии ниже,

 "gojs": "^2.1.8",
"gojs-angular": "1.0.3",
"typescript": "~3.7.5"
  

Для получения надлежащей функциональности в организационной структуре, но я не могу создать приложение, поскольку я получаю ошибку в этой конкретной строке

Комментарии:

1. Я думаю, вам следует понизить версию go js. Пожалуйста, проверьте наличие этой ссылки forum.nwoods.com/t/orgchart-editor-with-angular-code-errors /… для получения дополнительных разъяснений.

2. Как мне понизить версию? Я изменил в package.json, но получаю ту же ошибку, и я искал, но не смог получить никакого решения

3. Устанавливали ли вы пакеты npm после понижения версии?

4. Какую версию Angular вы используете? Если вы используете старую версию Angular, это было бы единственной причиной понизить версию GoJS. На самом деле из соображений производительности я рекомендую использовать последнюю версию gojs-angular.

5. Я использую «@angular/ cli»: версию «~ 9.1.7» и я использую «gojs-angular»: версию «1.0.3». В go.d.ts присутствует функция setParentKeyForNodeData, но я не могу использовать с моделью mydiagram

Ответ №1:

Это просто проблема в вашем коде TypeScript. Приведите модель к типу TreeModel.

 (myDiagram.model as go.TreeModel).setParentKeyForNodeData(...)
  

Вы определенно можете использовать последние версии GoJS и gojs-angular.