[英]How to sort columns in Vue when the values to sort are the result of calculations
我找到了许多用于对已经在数组中的数据进行排序的资源,但在对动态生成的数据进行排序时却找不到任何东西。
<table>
<thead>
<tr>
<th>Program</th>
<th>Rewards</th>
</tr>
</thead>
<tbody>
<tr v-for="program in programs" :key="program.id">
<td>{{ program.program_name }}</td>
<td>{{ pointValue(program) | percent }}</td>
</tr>
</tbody>
</table>
pointValue() 是一种计算并返回显示为 % 的值的方法。 这是奖励栏。 我希望表格可以按程序和奖励排序。 (程序只是一个字符串)。
使用map
和sort
方法为程序创建计算数组并对其进行迭代
computed: {
computedPrograms() {
return this.programs
.map(program => {
return {
...program,
value: this.pointValue(program)
}
})
.sort((a, b) => a.value - b.value)
}
}
<tr v-for="program in computedPrograms" :key="program.id">
<td>{{ program.program_name }}</td>
<td>{{ program.value | percent }}</td>
</tr>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.