2017-01-25 2 views
2

를 필터링 할 때 부모와 자식을 표시하는 방법 숨겨지기 때문에 하지만 부모를 검색 할 때 표시됩니다.당신은 어떤 부모 노드하지만 아이를 필터링 할 수 있습니다 바이올린을 볼 수 있듯이 부모 노드가</p> <p><a href="https://fiddle.sencha.com/#fiddle/1num" rel="nofollow noreferrer">Fiddle Here</a></p> <p>을 여과 treePanel 경우에 extjs에 childNodes에 표시하는 방법의 ExtJS Treepanel 인 parentNode

두 경우 모두 부모님을보고 싶습니다. 하위/상위 항상 부모 필터링 중 하나가 있어야합니다. 아이 필터링 된 각각의 부모가있을 경우 ,이에 extjs 거기에 이미

답변

1

당신은 당신이 노드의 아이들이 검증 여부를 확인 후이 바로 추가하여 현재 노드의 부모가 유효한지 확인할 수 있습니다 여기에

if (!visible) { 
    var current = node; 
    while (current.parentNode) { 
     current = current.parentNode; 
     if (v.test(current.get('text'))) { 
      visible = true; 
      break; 
     } 
    } 
} 

을 업데이트 된 fiddle입니다.

4

필터 함수에 코드를 추가해야하므로 부모 노드도 검사합니다. filterFn에서

, if (!visible) { 추가 :

var parent = node.parentNode; 
var testVisible = false; 
while(parent){ 
    testVisible = v.test(parent.get('text')) 

    if(testVisible){ 
     visible = testVisible; 
     break; 
    } 
    parent = parent.parentNode; 
} 

바이올린 https://fiddle.sencha.com/#view/editor&fiddle/1oso

관련 문제