Vue.set怎么删除数组中某一项

Vue.set(cardList,1,'');
Vue.set(cardList,1,false);
Vue.set(cardList,1,null);

根据Vue.set(data,key,value)这种写法,我想删除数组cardList中的某一项要怎么做,用了以上三个值替代 都不能删除,会被直接替换,我希望直接删除这一项该怎么写呢

clipboard.png

阅读 17.3k
4 个回答

首先如果你是想删除数组中的某一项这个需求的话你你可以直接使用
arr.splice(index,1)splice已经被vue处理过了,可以双向绑定,可见文档.
vue

如果你是想验证使用vue中的set实例方法,它并没有错误,set方法是帮我们去改变arr数组原型中的一些输入,比如长度,值等...
你在使用
`Vue.set(cardList,key,'');
Vue.set(cardList,key,false);
Vue.set(cardList,key,null);`
只能达到一个替换的作用.

比如你想替换数组对象第某个对象下中key值为name的值则可这样用
Vue.set(cardList[index],key,value)

如果你是想删除数组对象中某个对象下的某个key值,目前只能是将这个对象删除或者替换成空然后在装载成你需要的值

1、现在数组中删除某一项,然后新的数组替换旧的数组,
2、还有一种就是文档有提供的变异方法https://cn.vuejs.org/v2/guide...

splice(index,len,[item])它也可以用来替换/删除/添加数组内某一个或者几个值(该方法会改变原始数组)
index:数组开始下标        
len: 替换/删除的长度       
item:替换的值,删除操作的话 item为空

//删除起始下标为1,长度为1的一个值(len设置1,如果为0,则数组不变)
var arr = ['a','b','c','d'];
arr.splice(1,1);
console.log(arr);  //['a','c','d']; 

试一下Vue.delete()

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题