2016-07-15 4 views
1

Я хочу обновить предложения автозаполнения в соответствии со строкой.Динамически автозаполнение в редакторе туза

aceeditorObj.completers.push({ 
     getCompletions: function(editor, session, pos, prefix, callback) { 
      obj = editor.getSession().getTokenAt(pos.row, pos.column-count); 
      if(obj.value === "student"){ 
       var wordList = ["name", "age" , "surname"]; 
       callback(null, wordList.map(function(word) { 
        return { 
         caption: word, 
         value: word, 
         meta: "static" 
        }; 
       })); 

      } 

     } 
    }); 

Имя, возраст и фамилия добавляются в список автопредложений. Но старые остались. Как я могу показать только новый список мира в списке автозаполнения?

+0

вы можете удалить другие завершившие –

ответ

0

Попробуйте установить языковые инструменты пустым после вызова вашей функции завершивших:

var langTools = ace.require("ace/ext/language_tools"); 

    aceeditorObj.completers.push({ 
     getCompletions: function(editor, session, pos, prefix, callback) { 
      obj = editor.getSession().getTokenAt(pos.row, pos.column-count); 
      if(obj.value === "student"){ 
       var wordList = ["name", "age" , "surname"]; 
       callback(null, wordList.map(function(word) { 
        return { 
         caption: word, 
         value: word, 
         meta: "static" 
        }; 
       })); 

      } 

     } 
    }); 

    langTools.setCompleters([]); // This function should clear them