将表与Angular-UI手风琴混合

时间:2014-10-27 13:34:09

标签: angularjs css3 angular-ui-bootstrap

我正在尝试将一张桌子与angular-ui的手风琴混合在一起,但我无法想出办法。 我不是专业人士,写指令。我想知道这座桥是否存在。要实现这样的目标:

<table class="table table-hover table-condensed" thead>
    <thead>
        <tr>
            <th>{{ data.profile.firstname }}</th>
            <th>{{ data.profile.lastname }}</th>
            <th>{{ data.profile.email }}</th>
            <th>{{ data.profile.company_name }}</th>
            <th>{{ data.profile.city }}</th>
        </tr>
    </thead>
    <tbody accordion close-others="true">
        <!-- <tr ng-repeat="client in clients" ng-click="goTo('profile/' + client.username);"> -->
        <tr ng-repeat="client in clients" accordion-group is-open="client.isOpen">
            <accordion-heading>
                <td>{{ client.firstname }}</td>
                <td>{{ client.lastname }}</td>
                <td>{{ client.email }}</td>
                <td>{{ client.company_name }}</td>
                <td>{{ client.city }}</td>
            </accordion-heading>
            Accordion Content
        </tr>
    </tbody>
</table>

虽然它不起作用:(有没有人成功实现这样的目标?

我正在寻找的结果是当我点击表格中的一行时,它会产生与手风琴相同的行为。

2 个答案:

答案 0 :(得分:9)

在我的情况下,我让它有点原始,但也许这对你来说也是一个很好的解决方案。看:

 <tbody ng-repeat="person in people | orderBy:predicate:reverse"  >
  <tr ng-click="isOpen=!isOpen">
    <td>{{person.name}}</td>
    <td>{{person.job}}</td>
    <td>{{person.age}}</td>
    <td>{{person.grade}}</td>
  </tr>
  <tr ng-if="isOpen">
  <td>Just an empty line</td>
  </tr>
  </tbody>

答案 1 :(得分:4)

1)您可以尝试使用div代替table作为主手风琴。它对我有用。

2)以下是在JSFiddle中完成的accordion table示例,我希望它会对您有所帮助。 http://jsfiddle.net/Pixic/VGgbq/