首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在模板中禁用部分组件定义

如何在模板中禁用部分组件定义
EN

Stack Overflow用户
提问于 2022-03-12 19:19:56
回答 2查看 76关注 0票数 -1

我试图使用Telerik (TreeView)中的组件,并希望能够启用或禁用模板中的配置部分以删除某些功能。如果是常规代码,我可以使用*ngIf,但不确定如何使用。或者是执行并必须为该组件专用fulle模板的唯一方法。

代码语言:javascript
复制
<kendo-treeview
    #treeView
        [nodes]="data"
        textField="text"
        formControlName="permission"
        kendoTreeViewHierarchyBinding
        childrenField="child"
        [filterable]="true"
        kendoTreeViewExpandable
        [expandedKeys]="expandedKeys"
        [expandBy]="'text'"
        [kendoTreeViewCheckable]="checkableSettings"
        (checkedChange)="handleChecking($event)"
        [(checkedKeys)]="checkedKeys"
        checkBy="guid"
        
       <--- Section to enable or disable based on value enableDragDrop --->
        kendoTreeViewDragAndDrop
        kendoTreeViewDragAndDropEditing
        (nodeDragStart)="log('nodeDragStart', $event)"
        (nodeDrag)="log('nodeDrag', $event)"
        (nodeDrop)="handleDrop($event)"
        (addItem)="log('addItem', $event)"
        (removeItem)="log('removeItem', $event)"
        (nodeDragEnd)="log('nodeDragEnd', $event)"
        (nodeClick)="log3('nodeClick', $event)"
       <--- End of Section to enable --->
        
        >
    </kendo-treeview>  
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-03-13 03:21:09

不过,在这种情况下,使用*ngIf简单地转换布尔值应该是合适的,这是有点重复的代码。

在T中。

代码语言:javascript
复制
enableDragDrop: boolean = true;

在html中

代码语言:javascript
复制
<ng-container *ngIf="enableDragDrop; else noDragAndDrop"
   <kendo-treeview
        #treeView
        [nodes]="data"
        textField="text"
        formControlName="permission"
        kendoTreeViewHierarchyBinding
        childrenField="child"
        [filterable]="true"
        kendoTreeViewExpandable
        [expandedKeys]="expandedKeys"
        [expandBy]="'text'"
        [kendoTreeViewCheckable]="checkableSettings"
        (checkedChange)="handleChecking($event)"
        [(checkedKeys)]="checkedKeys"
        checkBy="guid"
        
        kendoTreeViewDragAndDrop
        kendoTreeViewDragAndDropEditing
        (nodeDragStart)="log('nodeDragStart', $event)"
        (nodeDrag)="log('nodeDrag', $event)"
        (nodeDrop)="handleDrop($event)"
        (addItem)="log('addItem', $event)"
        (removeItem)="log('removeItem', $event)"
        (nodeDragEnd)="log('nodeDragEnd', $event)"
        (nodeClick)="log3('nodeClick', $event)">
   </kendo-treeview>
</ng-container>

<ng-template #noDragAndDrop>
   <kendo-treeview
        #treeView
        [nodes]="data"
        textField="text"
        formControlName="permission"
        kendoTreeViewHierarchyBinding
        childrenField="child"
        [filterable]="true"
        kendoTreeViewExpandable
        [expandedKeys]="expandedKeys"
        [expandBy]="'text'"
        [kendoTreeViewCheckable]="checkableSettings"
        (checkedChange)="handleChecking($event)"
        [(checkedKeys)]="checkedKeys"
        checkBy="guid"
   </kendo-treeview>
</ng-template>
票数 1
EN

Stack Overflow用户

发布于 2022-03-13 01:34:55

可以在boolean执行过程中使用event binding属性。

例如:

let enableDragDrop = false;

这是要在component.ts中使用的属性。

在您的template中,在kendo-treeview标记中

(nodeDragStart)="enableDragDrop && log('nodeDragStart', $event)"

我们使用&&来确保在enableDragDrop为真之前不会执行log()函数。

property绑定也是如此。

[kendoTreeViewDragAndDrop]="enableDragDrop"

就像这样简单,我希望这就是你想要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71452471

复制
相关文章

相似问题

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