首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在angular 8中的kendo-treeview中没有子行,该如何隐藏该行?

如果在angular 8中的kendo-treeview中没有子行,该如何隐藏该行?
EN

Stack Overflow用户
提问于 2020-08-13 19:05:00
回答 1查看 140关注 0票数 0

如何隐藏父行如果它没有要display.text的子行我可以隐藏它,但在DOM元素中仍然存在空行。有谁能帮助解决这个问题吗?angular 8+ kendo treeview。

代码语言:javascript
复制
<kendo-treeview kendoTreeViewExpandable [nodes]="data" [children]="children" [hasChildren]="hasChildren" textField="text"
     >
        <ng-template kendoTreeViewNodeTemplate let-dataItem>
               <span>{{dataitem.title}}</span>
        </ng-template>
    </kendo-treeview>
EN

回答 1

Stack Overflow用户

发布于 2020-11-02 18:41:11

在后端,我有一个父行,如下所示:

代码语言:javascript
复制
{
    id: "session_client_1669"
    id_linked: "1669"
    id_regroup: null
    libelle: "UN CLIENT PRESQUE PARFAIT"
    menu: "client"
    type: "parent"
}

然后,获取其父对象的id的id_regroup的子行:

代码语言:javascript
复制
{
    id: "new_DOC_RAPPORT_SESSION_1669"
    idLinked: "1669"
    id_regroup: "session_client_1669"
    libelle: "Document à générer - Rapport de fin de formation"
    menu: "client"
    type: "generated"
}

最后,我使用一个函数递归地过滤掉没有子代的父类型的元素,从而在DOM中去掉它:

代码语言:javascript
复制
function removeEmptyParent(listDoc) {
  try {
    return new Promise(async resolve => {
      let listDocTemp = (listDoc || []).filter(
        item =>
          (listDoc.findIndex(e => e.id_regroup === item.id) !== -1 && item.type === 'parent') || item.type !== 'parent',
      );
      const index = (listDocTemp || []).findIndex(
        item => listDocTemp.findIndex(e => e.id_regroup === item.id) === -1 && item.type === 'parent',
      );
      if (index > -1) {
        listDocTemp = await removeEmptyParent(listDocTemp);
      }
      resolve(listDocTemp);
    });
  } catch (error) {
    console.log(`error`, error); // eslint-disable-line
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63393785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档