赞
踩
使用到一个switch组件,书写格式如下:
<switch showtext="true" checked="{{$item.status}}"
texton="完成"
textoff="待办"
class="switch"
@change="switchChange($idx)"
>
</switch>
没啥说的,略过
构建一个函数用来计算剩余多少事情
computed:{
todoCount(){
let num =0;
this.todolist.forEach(element=>{
if(!element.status){
num++
}
});
return num
}
然后给每个按钮设定时间就好了
给代办事项加上内容
export default[ { info:'给人打电话', status:true, }, { info:'输出工作计划', status:false, }, { info:'准备7点的会议', status:true, }, { info:'整理资料', status:false, }, { info:'上分', status:true, } ]
然后在js文件中引入即可
import todolist from "../../common/datas/todolist.js"
<div class="container"> <text class="title">待办事项</text> <div class="item" for="{{todolist}}"> <text class="todo">{{$item.info}} </text> <switch showtext="true" checked="{{$item.status}}" texton="完成" textoff="待办" class="switch" @change="switchChange($idx)" > </switch> <button class="remove" @click="remove($idx)"> 删除 </button> </div> <div class="info"> <text class="info-text">您还有</text> <text class="info-num">{{todoCount}}</text> <text class="info-text">件事情待办</text> </div> <div class="add-todo"> <input class="plan-input" type="text"></input> <button class="plan-btn" onclick="assTodo" @click="addTodo">添加待办</button> </div> </div>
.container { flex-direction: column; justify-content: flex-start; align-items: center; padding-bottom: 100px; } .title { font-size: 25px; margin-top:20px; margin-bottom: 20px; color:#000000; opacity: 0.9; font-size:28px; } .item{ width:325px; padding:10px 0; flex-direction:row; align-items:center; justify-content: space-around; border-bottom: 1px solid #eee; } .todo{ color:#000; width:180px; font-size:18px; } .switch{ font-size:12px; texton-color: green; textoff-color: red; text-padding: 5px; width:100px; heigh:24px; allow-scale: false; } .remove{ font-size:12px; margin-left: 10px; width:68px; height: 22px; color:#fff; background-color: red; } .info{ width:100%; margin-top: 10px; justify-content: center; } .info-text{ font-size:18px; color:#AD7A1B; } .info-num{ color:orangered; margin-left: 10px; margin-right: 10px; } .add-todo{ position: fixed; left: 0; bottom:0; width:100%; height:60px; flex-direction: row; justify-content: space-around; align-items:center; background-color: #ddd; } .plan-input{ width:240px; height:35px; background-color: #fff; } .plan-btn{ width:90px; height: 30px; font-size:15px; }
import todolist from "../../common/datas/todolist.js" export default { data: { todolist, }, remove(index){ console.log(index) this.todolist.splice(index,) }, switchChange(index){ this.todolist[index].status = !this.todolist[index].status }, addTodo(){ this.todolist.push({ info:'IDE工具无法监听键盘输入', status:false }) }, computed:{ todoCount(){ let num =0; this.todolist.forEach(element=>{ if(!element.status){ num++ } }); return num } } }
export default[ { info:'给人打电话', status:true, }, { info:'输出工作计划', status:false, }, { info:'准备7点的会议', status:true, }, { info:'整理资料', status:false, }, { info:'上分', status:true, } ]
(引入时注意路径即可)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。