我玩弄vue.js和.vue組件,並作爲新手,我想知道如何跟蹤我添加到數組中的元素。跟蹤數組中添加的元素?
的情況如下:
- 用戶從一個形式
- 當他提交時,數據被自動添加到UL> li元素添加一個新的元件,以及POST請求時該API
- 當POST完成後,我想更新與來自服務器的新數據的特定華里。
事情是,我不能瞄準最後的李,因爲服務器可能需要時間來處理請求(他做了很多工作),所以用戶可能已經添加了1,5,10個其他項與此同時。
所以,我該怎麼辦?
這裏是我到目前爲止的代碼:
<template>
<form method="post" v-on:submit.prevent="search">
<input type="text" placeholder="Person name" required v-model="name" v-el="nameInput" />
<input type="text" placeholder="Company" required v-model="company" v-el="domainInput" />
<input type="submit" value="Search" class="btn show-m" />
</form>
<ul>
<li transition="expand" v-for="contact in contacts">
<img v-bind:src="contact.avatar_url" width="40px" height="40px" class="cl-avatar" />
<div class="cl-user">
<strong class="cl-name">{{contact.name}} <span class="cl-company">{{contact.company}}</span></strong>
</div>
</li>
</ul>
</template>
<script>
export default {
data() {
return {
contacts: [],
name: null,
company: null
}
},
methods: {
search: function (event) {
this.$http.post('/search', {
name: this.name,
company: this.company
}).then(function (xhr) {
// HERE ! How can I target the exact entry ?
this.contacts.unshift(xhr.data)
})
this.name = ''
this.company = ''
this.contacts.unshift({'name': this.name, 'company': this.company})
},
}
}
</script>
謝謝您的幫助! :)