vue实现的代办事项功能
代码语言:html
所属分类:表单美化
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BFW NEW PAGE</title> <script id="bfwone" data="dep=vue&err=0" type="text/javascript" src="http://repo.bfw.wiki/bfwrepo/js/bfwone.js"></script> <script type="text/javascript"> bready(function() { Vue.component('togglebutton', { props: ['label', 'name'], template: `<div class="togglebutton-wrapper" v-bind:class="isactive ? 'togglebutton-checked' : ''"> <label v-bind:for="name"> <span class="togglebutton-label">{{ label }}</span> <span class="tooglebutton-box"></span> </label> <input v-bind:id="name" type="checkbox" v-bind:name="name" v-model="isactive" v-on:change="onToogle"> </div>`, model: { prop: 'checked', event: 'change' }, data: function () { return { isactive: false } }, methods: { onToogle: function () { this.$emit('clicked', this.isactive) } } }); var todolist = new Vue({ el: '.bfw', data: { newitem: '', sortByStatus: false, todo: [{ id: 1, label: "学习 VueJs", done: true }, { id: 2, label: "跑步 10 公里", done: false }, { id: 3, label: "访问bfw.wiki", done: false }] }, methods: { addItem: function () { this.todo.push({ id: Math.floor(Math.random() * 9999) + 10, label: this.newitem, done: false }); this.newitem = ''; }, markAsDoneOrUndone: function (item) { item.done = !item.done; }, deleteItemFromList: function (item) { let index = this.todo.indexOf(item) this.todo.splice(index, 1); }, clickontoogle: function (active) { this.sortByStatus = active; } }, computed: { todoByStatus: function () { if (!this.sortByStatus) { return this.todo; } var sortedArray = [] var doneArray = this.todo.filter(function (item) { return item.done; }); var notDoneArray = this.todo.filter(function (item) { return !item.done; }); sortedArray = [...notDoneArray, ...doneArray]; return sortedArray; } } }); }); .........完整代码请登录后点击上方下载按钮下载查看
网友评论0