vue写todo页面(3)

模板地址:vue官网上的示例
1 输入框输入,回车添加todo信息
2 每条todo信息后增加删除按钮
3 每条todo信息增加complete状态,列表前增加checkbox,选中后修改complete值,根据complete值修改todo信息样式
在这里插入图片描述

<html>

<head>
    <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
    <style>
        .completed {
      
      
            text-decoration: line-through;
            color: darkgrey;
        }
    </style>
</head>

<body>
    <div id="root">
        <!-- 输入框 -->
        <input v-model="newTodo" @keyup.enter="addTodo" />
        <!-- todo列表 -->
        <ul>
            <li v-for="(todo, index) in todoList" :class="{completed: todo.completed}">
                <!-- 状态勾选 -->
                <input type="checkbox" v-model="todo.completed" />
                {
   
   {todo.info}}
                <!-- 删除按钮 -->
                <button @click="removeTodo(index)">删除</button>
            </li>
        </ul>
    </div>

    <script>
        var app = new Vue({
      
      
            el: "#root",
            data: {
      
      
                newTodo: "", // 新增输入框的内容
                todoList: [], // 保存所有todo信息,数组元素:{completed: 完成true未完成false,info:todo信息string}
            },
            methods: {
      
      
                // 回车添加事件
                addTodo: function () {
      
      
                    if (this.newTodo) {
      
      
                        this.todoList.push({
      
       info: this.newTodo, completed: false })
                    }
                    this.newTodo = '';
                },
                // 删除事件
                removeTodo: function (index) {
      
      
                    this.todoList.splice(index, 1)
                }
            }
        })
    </script>
</body>

</html>

猜你喜欢

转载自blog.csdn.net/weixin_43915401/article/details/123738045