я пытаюсь использовать Diagram.highlightCollection в gojs, чтобы выделить узлы, которые не удается определенное условие - PullRequest
0 голосов
/ 05 февраля 2020

У меня есть id узлов (ключ), я хочу выделить эти узлы, для пустого узла то же условие работает нормально. пример:

    checkEmptyNodes() {
           const emptyNodes = [];
           const diagDetails =  this.myserv.getDiagramData();
           if (!!diagDetails.nodeDataArray) {
           diagram.startTransaction('checking empty nodes');
           diagram.nodes.each(n => {
                       if (!n.part.data.answer) {
                           emptyNodes.push(n);
                   }
           });
           diagram.highlightCollection(emptyNodes);
           console.log(emptyNodes);
          }   else {
           // data.answer = [];
          }
           diagram.commitTransaction('checking empty nodes');
           return emptyNodes;
         }  

приведенный выше код работает, но у меня есть похожий код, который не выдает никакой ошибки, но узлы не выделяются одна работа, а вторая почему нет. любой gojs эксперт.

1 Ответ

0 голосов
/ 07 февраля 2020

Я уже ответил на этот вопрос на https://forum.nwoods.com/t/i-want-to-color-node-based-on-certain-condition/13169 Для полноты здесь, это был мой ответ:

Не используйте Zd. Это минимизированное имя свойства, и в документации и на этом форуме неоднократно указывается, что вы не должны использовать эти внутренние имена. Используйте только документированные имена свойств и методов API: https://gojs.net/api.

Почему вы вызываете startTransaction внутри итерации или l oop? Ты не раньше Всегда должно быть сочетание вызовов startTransaction и commitTransaction (или rollbackTransaction ). Эти пары обычно последовательны, но они могут быть вложенными.

...