【发布时间】:2019-01-14 00:36:07
【问题描述】:
我正在尝试弄清楚如何创建一个下拉菜单,对填充了不同数据(interestRates、loanAmounts)的动态渲染(通过 for 循环)div 进行排序
<div class="sortedByDiv">sorted by
<select class="sortingFont">
<option>Monthly Cost</option>
<option>Interest Rate</option>
<option>Loan Amount</option>
</select>
</div>
理想情况下,点击上述下拉菜单中的选择选项将“触发”呈现排序数据的方法。我目前向查看者显示未排序数据的代码如下所示:
<div class="wrapper1" v-for="product in products">
<div class="logoDiv"><img :src="product.logo"/>
{{product.interestRate.ir}}
{{product.amount | currency}}
</div>
</div>
我做了一些计算方法来进行下面的排序:
computed: {
sortedProductsInterestRate: function() {
var interestArr = new Array
for (let item1 of this.products) {
if (item1.interestRate.ir != null) {
interestArr.push(item1.interestRate.ir)
interestArr.sort((a, b) => a - b)
}
}
return interestArr
},
# also have same concept for {{product.amount}}
我的主要问题是我不知道如何更改通过 for 循环在 div 中呈现产品的位。我想更改它以显示“新”div,根据顶部的选择选项进行排序。
【问题讨论】:
-
这是一个简单的例子:codesandbox.io/s/olq30v7yk6
标签: javascript for-loop vue.js computed-properties