文章搬遷搬遷~~
因為自己弄了HEXO將來文章會放到那,這裡將停止更新,而文章也會慢慢更新到那裏去,歡迎大家來看與指教。 網址:https://donggualemon.github.io/
<li v-for="(item,index) in filtertext" :key="item.uuid" :class="{finished:item.isFinished}">
將原本in items改成filtertext,將要把filtertext放入computed做處理。<input :checked="showall" :class="{show:showall}" click="show1" name="show" type="radio">全部
<input :checked="showend" :class="{show:showend}" click="show2" name="show" type="radio">已完成
<input :checked="showing" :class="{show:showing}" click="show3" name="show" type="radio">未完成
新增了3個radio button然後綁定checked這樣能獲取狀態。computed:{
filtertext(){
if(this.showall==true){
return this.items;
}
if(this.showend==true){
return this.items.filter(function(item,index,array){
return item.isFinished==true;
});
}
if(this.showing==true){
return this.items.filter(function(item,index,array){
return item.isFinished==false;
});
}
}
},
透過computed的方式只要有變更資料將會在重新運算一次的特性,寫3個判斷式來更改return出去的值。Enter(){
function getRandom(x){
return Math.floor(Math.random()*x)+1;
};
var id = getRandom(1000);
this.items.push({label:this.newlist,isFinished:false,isEdit:false,uuid:id});
console.log(this.items);
this.newlist="";
}
在輸入按下enter時加入一個random的uuid進去,而這random值可自己訂,看是要加時間戳記或名字等等,這裡範例讓他1-1000吧但小心重複哦。<button @click="remove(item.uuid)">刪除</button>
將remove從原本index換成uuid進去。 remove(uuid){
for(var i in this.items){
if(this.items[i].uuid==uuid){
this.items.splice(i,1);
}
}
}
透過for方式去查訪每個object,並將符合條件的做刪去,這就能去除掉這個問題啦~~
留言
張貼留言