【发布时间】:2019-12-09 20:58:30
【问题描述】:
我正在研究 Angular 7 中的数据报告解决方案。
我的应用程序将托管大约 200 多个报告,并且我想制作可重用的组件,因此我不需要预先创建 200 多个组件,并且将来,如果我们加入新报告,则不需要更改代码。
这个想法是... 1.报表参数和Spname将存储在DB中 2. 根据报告参数,将显示报告标准部分。 3. 用户提供参数值并单击生成按钮,然后请求将被发送到 REST 服务。 4. Rest服务将根据报表定义中提供的Spname从DB中获取数据并返回给Angular App。
报告参数示例,例如 ...
FreeText => 所以用户可以输入任何字符串数据
Date => 选择报告日期
Multiselect => 支持多选下拉框
singleselect => 允许用户一次只选择一个值。
问题是每个报告都是这些参数的不同组合,而且对于给定的报告,参数可以是可重复的,就像可能存在需要两个日期(往返)的报告,因此无法修复标准结构。
有什么方法可以在运行时生成控件并显示在组件上。 我能想到的一种方法是 Jquery。不确定这是否是实现这一目标的正确方法。
任何可用于相同或任何其他方法的示例代码。
<div class="row">
<div class="col-md-12">
<div class="row">
<div class="col-md-2">
<div>
<button class="ev-button" style="float: right;" type="button">Generate Report</button>
</div>
<div>
<app-report-criteria></app-report-criteria>
</div>
</div>
<div class="vl"></div>
<div class="col-md-9">
<app-report-data-display></app-report-data-display>
</div>
</div>
</div>
</div>
我的代码只是将屏幕分为两部分,条件和数据。 我需要让 app-report-criteria 足够强大,以便在运行时根据报告标准生成控件
【问题讨论】:
-
首先放弃使用jQuery的想法,不推荐。其次,向我们展示您的代码、您尝试过的内容以及遇到的问题。
-
不使用jQuery,只是认为这可能是实现它的一种方式。我尝试谷歌在运行时以角度生成控件,但不推荐人们提到的每个地方。
-
我不想在我的应用中创建 200 多个组件来提供相同的功能
-
谁对我的问题投了否定票...你能解释一下我在这里缺少什么
标签: jquery html angular angular7