html vue id,html - Vue.js edit post by id - Stack Overflow

I'm starting with vue.js and I was reading this question to help me loading some posts from DB with v-for.

Below each post there are Edit and Delete buttons. I can delete each post by its ID correctly. And I can open the input to edit post title correctly too.

But I cannot save input changes when I click on save button. It returns to the initial text.

And when I click to edit it opens all the inputs titles.

Is there a way to open the specific post title and keep the changes after save it?

:class="{view: !editingTour}" />

{{ item.description }}

class="btn border btn-circle tour-list-edit-btn">Edit

class="btn border btn-circle tour-list-edit-btn">Save

class="btn border btn-circle tour-list-delete-btn">Cancel

class="btn border btn-circle tour-list-delete-btn">Delete

vue.js:

let app = new Vue({

el: '#app',

data: {

editingTour: false,

tours: null,

errored: false,

edited: false,

deleted: false,

item: {

title: null,

description: null

}

},

created: function () {

this.searchTour()

},

methods: {

searchTour: function () {

axios.post('getPosts.php', { "token": param }).then((response) => {

this.tours = response.data;

}).catch((error) => {

this.errored = error;

});

},

editTour: function (id) {

axios.post('editPosts.php', { "token": token, "tourID": id }).then((response) => {

this.edited = response.data;

}).catch((error) => {

this.errored = error;

});

},

deleteTour: function (id) {

if (confirm('Are You sure?')) {

const index = this.tours.findIndex(item => item.id === id);

if (~index) {

axios.post('deletePosts.php', { "token": token, "tourID": id }).then((response) => {

this.deleted = response;

this.tours.splice(index, 1);

}).catch((error) => {

this.errored = error;

});

}

}

},

save: function () {

this.item.title = this.$refs['item.id'].value;

this.editingTour = !this.editingTour;

console.log(this.item.title);

}

}

});

In console.log(this.item.title); is returning undefined.

I have changed ref="item.id" to ref="title" and this.item.title = this.$refs['item.id'].value; to this.item.title = this.$refs['title'].value; but it did not work.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值