2

我正在尝试使用 TODO 教程做一个简单的事情。

我想在表格中显示任务列表,但找不到在迭代中获取索引的方法。

@tasks.map { task =>
                <tr>
                    <td><!-- DISPLAY INDEX HERE --></td>
                    <td>
                        @form(routes.Application.deleteTask(task.id.get)) {
                            <input type="submit" class="btn btn-primary remove_task" value="-">
                        }
                        @task.label
                    </td>
                </tr>
            }

有任何想法吗?

4

2 回答 2

4

您可以使用@tasks.zipWithIndex.map { case (task, index) => ... }

于 2012-10-12T18:25:58.063 回答
1

您可以使用zipWithIndex. 例如:

scala> List("A","B","C")
res4: List[java.lang.String] = List(A, B, C)

scala> res4.zipWithIndex
res5: List[(java.lang.String, Int)] = List((A,0), (B,1), (C,2))

您的最终代码将是,请注意我重命名了task变量:

@tasks.zipWithIndex.map { tuple =>
                <tr>
                    <td>tuple._2</td>
                    <td>
                        @form(routes.Application.deleteTask(tuple._1.id.get)) {
                            <input type="submit" class="btn btn-primary remove_task" value="-">
                        }
                        @tuple._1.label
                    </td>
                </tr>
            }
于 2012-10-12T18:24:30.433 回答