jQuery EasyUI menu da árvore - Menu da árvore adiciona-mãe nós / criança
Normalmente, ele representa um nó de árvore é em todos os sentidos um nó armazena uma parentid. Isso também é chamado de lista de modelos de adjacência. carga direta os dados na árvore de menu (Tree) não é permitido. Mas podemos antes da árvore de menu de carregamento, colocá-lo em um formato de dados padrão de árvore de menu padrão (árvore). Tree (Árvore) plug-in fornece uma opção "loadFilter 'para funcionar, ele pode obter essa funcionalidade. Ele fornece uma oportunidade para mudar qualquer um dos dados de entrada. Este tutorial mostra como utilizar a função pai 'loadFilter' para carregar node / criança para o menu em árvore (Tree).
dados do nó pai / filho
[ { "Id": 1, "parendId": 0, "name": "Alimentos"}, { "Id": 2 ", parentId": 1, "name": "Frutas"}, { "Id": 3, "parentId": 1, "name": "produtos hortícolas"}, { "Id": 4, "parentId": 2, "name": "maçã"}, { "Id": 5, "parentId": 2, "name": "laranja"}, { "Id": 6, "parentId": 3, "name": "tomate"}, { "Id": 7, "parentId": 3, "name": "cenoura"}, { "Id": 8, "parentId": 3, "name": "repolho"}, { "Id": 9, "parentId": 3, "name": "batata"}, { "Id": 10, "parentId": 3, "name": "alface"} ]
Use 'loadFilter' Criar árvore do menu (árvore)
$ ( "# Tt '). Tree ({ url: 'data / tree6_data.json', loadFilter: function (linhas) { voltar Convert (linhas); } });
Realização de Conversão
converso função (linhas) { existe função (linhas, ParentId) { for (var i = 0; i <rows.length; i ++) { if (linhas [i] .id == parentId) return true; } return false; } nodos var = []; // Obter os nós de nível superior for (var i = 0; i <rows.length; i ++) { var carreira = linhas [i]; if (! existe (linhas, row.parentId)) { nodes.push ({ ID: row.id, texto: row.name }); } } var TODO = []; for (var i = 0; i <nodes.length; i ++) { toDo.push (nós [i]); } while (toDo.length) { var nó = toDo.shift (); // o nó pai // Obter os nós filhos for (var i = 0; i <rows.length; i ++) { var carreira = linhas [i]; Se (row.parentId == node.id) { var child = {id: row.id, texto: row.name}; if (node.children) { node.children.push (criança); } Else { node.children = [criança]; } toDo.push (criança); } } } retornar os nós; }