我正在尝试构建一个扩展角材料垫树组件的组件。目标是拥有一个表,该表具有可以扩展和折叠的行的层次结构。我能够或多或少地做到这一点,并且当我直接从组件中的平面文件加载数据时,它就可以正常工作。 Stackblitz示例显示了它处于工作状态。但是,您需要单击Click Me
按钮才能查看数据-不知道为什么会这样。
https://stackblitz.com/edit/n4nite-tree-table
我想要的是能够将数据从父组件传递到组件。我尝试了使用@input
和property={{}}
进行此操作的各种方法,但是我无法使其正常工作。我想要的基本上是以下内容:
- app.component.ts调用服务(helper.service)
- helper服务将html文件的数据传回给树形网格
- app.component.html通过大括号{{}}
将数据传递到组件
注意:在我的实际实现中,helper.service
从API调用中获取数据。
我还有一些不太紧迫的问题:
当我将代码移动到StackBlitz
我的mat-icon-buttons
时,它们显示展开V形,其背景为灰色。我以为我缺少主项目中的主题或样式。我想知道我在做错什么,以及如何更正此错误,以便将来发布到StackBlitz
。
在先前的示例中,每个子项都略有缩进。我相信这是mat-tree-control
中的标准。我在代码缩进丢失的途中有些地方安静了一些。我该如何找回这些,或更具体地讲,我为抑制它们做了什么。
在组件中,我正在使用hack的方法在用于馈送组件的数据的开头添加额外的dummy
记录。该行在下面,并且达到了我想要的结果。但是,当我在页面中包含同一组件的第二个副本时,我注意到以下行已插入两次。我希望这会导致我出现问题,并且我做错了一些事情,但是我不确定是什么?
treeData.unshift({id:“ dummy”,名称:“ dummy”,类型:“ dummy”, description:“ dummy”});
答案 0 :(得分:0)
我已经更新了demo。请检查。希望对您有所帮助。
通过@Input装饰器传递数据
<n4nite-tree-table [facetHierarchy] ="facetHierarchy"></n4nite-tree-table>