如何根据内容隐藏表行

时间:2018-05-25 13:08:10

标签: html angular typescript angular2-forms

我正在开发一个Angular 2应用程序。

有一个摘要部分,显示其他部分中编码的所有信息。

摘要基本上是一个表,对于每一行,第一列是字段的名称,第二列是编码的值。 可以使用{{value}}或使用自定义组件显示该值。

如果没有编码值,则可以使用切换按钮在摘要部分中隐藏相应的行。然后,用户可以决定是否要查看空答案。

摘要页面的结构非常简单:

<table>
  <tbody>
  <thead>
  <tr>
    <td>Section 1</td>
  </tr>
  </thead>
  <tr>
    <th>Name</th>
    <td id="name" colspan="4">
      {{profile.name}}
    </td>
  </tr>
  <tr>
    <th>Travelling</th>
    <td id="travelling" colspan="4">
      <app-travelling [value]="profile.travelling"></app-travelling>
    </td>
  </tr>
  <tr>
    <th>Driving licence</th>
    <td id="driving-licence" colspan="4">
      <app-driving-licence [value]="profile.drivingLicence"></app-driving-licence>
    </td>
  </tr>
  <tr>
    <th>Rating</th>
    <td id="rating" colspan="4">
      <app-rating [value]="profile.rating"></app-rating>
    </td>
  </tr>
  </tbody>
</table>

问题是摘要页面包含多于或少于2000行。 我并不是真的想要浏览整个html并修改每个<tr>

以下是我考虑过的不同选项:

  1. 在每个tr上使用ng-if
    • 在每个tr
    • 上添加它非常痛苦
  2. 在每个tr上使用自定义指令
    • 和ng-if一样痛苦,但似乎更容易阅读
  3. 在tr周围使用自定义组件并在组件中使用ng-content
    • 和上面的2一样痛苦
  4. 使用jquery查找空值并在相应的tr上添加特定的类
    • 不像修改每个tr那样痛苦
  5. 你还有其他想法吗? 你会选择哪种解决方案?

    感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

尝试使用此函数迭代每个元素。

print(tf.__version__)