8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

在 kendoTreeViewNodeTemplate 中设置数据项的样式(Angular)

Dou Xu-MSFT 1月前

28 0

因此,对于我的 Angular 应用程序,我使用 Kendo-TreeView 组件创建了一个菜单构建器。我希望节点的操作按钮能够很好地对齐在右侧,如您所见......

因此,对于我的 Angular 应用程序,我使用 Kendo-TreeView 组件创建了一个菜单构建器。

我希望节点的操作按钮能够很好地对齐在右侧,正如您在图片中看到的那样。

问题预览以及我希望按钮对齐的位置

现在这是我在 TreeView 中使用 KendoTreeViewNodeTemplate 的代码

<ng-template kendoTreeViewNodeTemplate let-dataItem>
        <div class="menu-tree-line">
          <div class="menu-tree-dataItem">
          <span [ngClass]="{'group-item': dataItem.type === 'GROUP'}">
            @if (dataItem.icon != null && dataItem.icon != '') {
              <i class="{{dataItem.icon}}"></i> -
            }
            {{ dataItem.title }} |
          </span>
          </div>
          <div class="menu-btn-tree-container">
            <app-crm-button [buttonIcon]="'feather icon-edit'"
                            (buttonClick)="openForm(dataItem)"
                            [buttonTooltip]="dataItem.type === 'GROUP' ? 'Bewerk menu groep' : 'Bewerk menu item'"
            >
            </app-crm-button>
            @if (dataItem.type == 'GROUP') {
              <app-crm-button [buttonIcon]="'feather icon-plus'"
                              (buttonClick)="initiateAddChildMenuItem(dataItem)"
                              [buttonTooltip]="'Voeg nieuw sub item toe'"
              ></app-crm-button>
            }
            @if (dataItem.type != 'GROUP') {
              <app-crm-button [buttonIcon]="'feather icon-trash-2'" [buttonColor]="'error'"
                              [buttonTooltip]="'Verwijder menu item'"
                              (buttonClick)="deleteMenuItem(dataItem)"
              >
              </app-crm-button>
            }
            @if (dataItem.type == 'GROUP' && dataItem?.children?.length == null) {
              <app-crm-button [buttonIcon]="'feather icon-trash-2'" [buttonColor]="'error'"
                              [buttonTooltip]="'Verwijder menu groep'"
                              (buttonClick)="deleteMenuItem(dataItem)"
              >
              </app-crm-button>
            }
          </div>
        </div>
      </ng-template>

这是 CSS

.menu-tree-line {
  display: flex;
  align-items: center;
  justify-content: space-between !important;
  width: 100%;
}

.menu-tree-dataItem {
  display: flex;
  align-items: center;
  gap: 5px; /* Space between the text and icon */
}

.menu-btn-tree-container {
  display: flex;
  gap: 5px;
  margin-left: 10px;
  align-items: flex-end !important;
}

我试图让它与 flexbox 一起工作,但是没有工作。

非常感谢您的帮助。

谢谢!

帖子版权声明 1、本帖标题:在 kendoTreeViewNodeTemplate 中设置数据项的样式(Angular)
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Dou Xu-MSFT在本站《angular》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您可以尝试以下 CSS。可能需要使用填充进行对齐。

    修复方法包括移除 display: flex block inline-block 以使其达到整个宽度。

    最后在子元素上,我们用来 display: flex; justify-content: space-between 使元素首尾相连。

    .custom-treeview .k-treeview-top,
    .custom-treeview .k-treeview-mid,
    .custom-treeview .k-treeview-bot {
      display: block !important;
    }
    
    .custom-treeview .k-treeview-leaf {
      display: inline-block !important;
      width: 100% !important;
    }
    
    .custom-treeview .k-treeview-leaf > span {
      display: flex !important;
      justify-content: space-between !important;
    }
    

    Stackblitz 演示

返回
作者最近主题: