我有一个表中列出的对象数组,我需要获取被单击对象的值。当我单击数字时,它会循环通过,并且只会获取最后一个数组的值。
我目前正在遍历数组中的所有对象,但是我不能只选择一个对象。
<template>
<div>
<tbody>
<tr v-for="(call, index) in filterSummary" :key="index">
<td>
<a
@click="onSelect"
class="waves-effect waves-dark green btn-small left"
id="select_DID_button"
>{{ call.number }}</a>
</td>
<td>{{ call.name }}</td>
<td>{{ call.dataValues.volume }}</td>
<td>{{ call.dataValues.inboundVolume }}</td>
<td>{{ call.dataValues.outboundVolume }}</td>
<td>{{ call.dataValues.totalDuration | formatDuration }}</td>
<td>{{ call.dataValues.inboundDuration | formatDuration }}</td>
<td>{{ call.dataValues.outboundDuration | formatDuration }}</td>
<td>{{ call.dataValues.averageDuration | formatDuration }}</td>
</tr>
</tbody>
</div>
</template>
<script>
export default {
data() {
return {
}
},
methods: {
onSelect() {
var obj = this.$store.state.callerActivitySummary;
for (var i = 0; i < obj.length; i++) {
var newNumber = obj[i].number;
this.$store.commit("updateNumber", newNumber);
console.log("Number: ", newNumber);
}
this.getCallerActivityDetails();
}
}
}
</script>
我的对象数组看起来像这样。
{
"items": [
{
"alternativeNames": [],
"number": "012345678",
"dataValues": {},
"name": "Random name"
}
]
}
控制台输出为:
Number: 111968948
Number: 49819811
Number: 0566561651
Number: 012345678
我需要从单击的对象中获取编号。
答案 0 :(得分:1)
我看不到所选数字与您要遍历的每个对象中数字的比较。您需要这样的东西:
if (selectedNumber === obj[i].number) {
this.$store.commit("updateNumber", selectedNumber);
break;
}
selectedNumber
是传递给方法的数字。
@click="onSelect(call.number)"
...
methods: {
onSelect(selectedNumber) { ...