问答

Element-ui table splice移除数组元素 页面只会删除最后一行 视

作者:admin 2021-07-10 我要评论

搭建Vue后台,用了 vue-element-admin 开源项目,里面的Element-ui table表格删除元素视图更新有误 el-table v-loading="listLoading" :data="list" border fit ...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)
搭建Vue后台,用了vue-element-admin开源项目,里面的Element-ui table表格删除元素视图更新有误
<el-table v-loading="listLoading" :data="list" border fit highlight-current-row style="width: 100%">
    <el-table-column align="center" label="Actions" width="120">
        <template slot-scope="scope">
          <el-button-group>
            <el-button type="danger" size="small" icon="el-icon-delete" @click="deleteList(scope.row.id, scope.$index)" />
          </el-button-group>
        </template>
      </el-table-column>
    </el-table>
</el-table>
这里我要删除操作,移除一行数组,于是获得了id和数组index
deleteList(id, index) {
  console.log(index)
  this.list.splice(index, 1)
}
操作完后,list数组是移除正确的,但是视图上把表格最后一行移除了,我很奇怪,难道element-ui的table遍历的数组对象不是我传递的list?不管我删除哪一个,视图上照样删除最后一行,甚至我重新调用接口赋值list也不行,视图和数据不对等
###

没毛病

<el-table v-loading="listLoading" :data="arr" border fit highlight-current-row style="width: 100%">
            <el-table-column align="center" label="Actions" width="120" prop="name">
            </el-table-column>
            <el-table-column align="center" label="Actions" width="120" prop="name">
                <template slot-scope="scope">
                <el-button-group>
                    <el-button type="danger" size="small" icon="el-icon-delete" @click="deleteList(scope.row, scope.$index)" />
                </el-button-group>
                </template>
            </el-table-column>
        </el-table>
<script>
export default {
    data(){
        return{
            arr:[
                {
                    name:'fgf'
                },
                {
                    name:'fgfd'
                },
                {
                    name:'fgft'
                },
                {
                    name:'fgfb'
                },
                {
                    name:'fgfw'
                },
                {
                    name:'fgfy'
                }
            ]
        }
    },
    mounted(){

    },
    methods:{
        deleteList(item,i){
            this.arr.splice(i,1)
        }
    }
}
</script>

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • elementUI表单Object.assign处理后无法

    elementUI表单Object.assign处理后无法

  • nacos作为配置中,有时可以加载到配置

    nacos作为配置中,有时可以加载到配置

  • font-spider压缩字体后,文件大小没有

    font-spider压缩字体后,文件大小没有

  • Vue SSR babel node_modules中的一个包

    Vue SSR babel node_modules中的一个包

腾讯云代理商
海外云服务器