首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vuejs2剪接只删除最后一个元素

vuejs2剪接只删除最后一个元素
EN

Stack Overflow用户
提问于 2020-04-18 08:45:59
回答 2查看 57关注 0票数 1

嗨,im试图从vuejs2数组中删除元素,这是我的html代码。

代码语言:javascript
复制
<tr class="o_data_row o_selected_row" v-for='(line , id) in lines'>
    <td>anything here</td>
    <td class="o_list_record_remove" style='width:10%'>
        <button @click='remove_line(id)' class="fa fa-trash-o" name="delete"></button>
    </td>
</tr>

这是我的vuejs2代码

代码语言:javascript
复制
remove_line:function(index)
{
    console.log(index);
    console.log(this.lines);
    this.lines.splice(index,1);
}

在控制台中,我把正确的索引和行也是正确的。我不知道代码有什么问题,非常感谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-18 08:59:12

  1. 为“like”数组中的每个元素使用了一些唯一的道具,而不是索引。
  2. 将这个唯一的道具添加到: v-for所在的键中,如:

代码语言:javascript
复制
<tr class="o_data_row o_selected_row" v-for='(line , id) in lines' :key="line.uniq_prop">

  1. 传递remove_line函数中的行项,如:

代码语言:javascript
复制
<button @click='remove_line(line)'

  1. 在remove_line中找到要删除和拼接元素的索引:

代码语言:javascript
复制
remove_line:function(line)
{
    console.log(line);
    console.log(this.lines);
    const index = this.lines.indexOf(line);
    this.lines.splice(index,1);
}
票数 1
EN

Stack Overflow用户

发布于 2020-04-18 09:03:43

代码语言:javascript
复制
<button v-on:click="lines.splice(id, 1)" class="fa fa-trash-o" name="delete"></button>

代码语言:javascript
复制
<button @click.prevent='remove_line(id)' class="fa fa-trash-o" name="delete"></button>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61286429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档