только числовое имя узла фильтра fancytree

#javascript #jquery #json #fancytree

Вопрос:

Я использую fancytree, у меня проблема с фильтром, когда имя узла-это всего лишь число, как показано на рисунке ниже

введите описание изображения здесь

Когда я пытаюсь найти 700264, я получил эту ошибку в консоли, и я понятия не имею, делаю ли я что-то не так или это ошибка

введите описание изображения здесь

Настройки фильтра

 $("#treeMU").fancytree({
    extensions: ["filter"],
    quicksearch: true,
    checkbox: true,  // optional
    keyboard: true,  // Support keyboard navigation
    source: {
        url: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        
    },
    filter: {  // override default settings
       
        autoExpand: true,          // Expand all branches that contain matches while filtered
        counter: true,             // Show a badge with number of matching child nodes near parent icons
        hideExpandedCounter: true, // Hide counter badge if parent is expanded
        hideExpanders: true,       // Hide expanders if all child nodes are hidden by filter
        nodata: true,              // Display a 'no data' status node if result is empty
        mode: "hide"               // Grayout unmatched nodes (pass "hide" to remove unmatched node instead)
     
    },          
  });
 

Поисковый ввод

 $("#TreeSearchMU").keypress(function(e){
   if(e.which == 13)  // the enter key code
   {
     $.ui.fancytree.getTree("#treeMU").filterBranches($("#TreeSearchMU").val());
   }  
  
});
 

Когда я пытаюсь добавить любой строковый символ к имени узла (точка, запятая, пробел и т. Д.), Чтобы он был похож

введите описание изображения здесь

Фильтр отлично работает со строковым символом.

Кто-нибудь знает, что произошло и почему фильтр работает со строковым символом и не работает с числовым именем?

Окружающая среда

  • Тип и версия браузера: Google Chrom Версии 94.0.4606.61
  • Версии jQuery: 3.5.1
  • Версия Fancytree: 2.38.0 включено/затронутые расширения: фильтр

Спасибо за все.

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

1. Fancytree, похоже, предполагает, что node.title-это строка. Вам могло бы повезти больше, если бы вы смогли упорядочить эти числа.

2. @Джеймс Да, я могу ввести число в строку, но нет способа использовать его как есть

3. Вы должны быть в состоянии преобразовать данные, полученные из вашего API (изменить эти числа на строки), добавив функцию постпроцесса, ссылку на учебник

4. Я конвертирую числа в бэкэнд, используя метод построения strval() в php, и это работает