当前位置:首页 > 前端教程

elementui todolist

2026-01-15 18:51:53前端教程

使用Element UI实现TodoList

Element UI提供了丰富的组件,可以快速搭建一个TodoList应用。以下是一个基于Element UI的TodoList实现方法。

安装Element UI

确保项目中已经安装Element UI。可以通过npm或yarn安装:

elementui todolist

npm install element-ui

yarn add element-ui

引入Element UI

在项目的入口文件(如main.js)中引入Element UI:

elementui todolist

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';

Vue.use(ElementUI);

实现TodoList组件

创建一个TodoList组件,使用Element UI的el-inputel-buttonel-checkboxel-card等组件。

<template>
  <div class="todo-list">
    <el-card class="box-card">
      <div slot="header" class="clearfix">
        <span>Todo List</span>
      </div>
      <el-input
        v-model="newTodo"
        placeholder="请输入任务"
        @keyup.enter.native="addTodo"
      ></el-input>
      <el-button type="primary" @click="addTodo">添加</el-button>
      <ul>
        <li v-for="(todo, index) in todos" :key="index">
          <el-checkbox v-model="todo.completed"></el-checkbox>
          <span :class="{ 'completed': todo.completed }">{{ todo.text }}</span>
          <el-button type="danger" size="mini" @click="removeTodo(index)">删除</el-button>
        </li>
      </ul>
    </el-card>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTodo: '',
      todos: []
    };
  },
  methods: {
    addTodo() {
      if (this.newTodo.trim() === '') return;
      this.todos.push({
        text: this.newTodo,
        completed: false
      });
      this.newTodo = '';
    },
    removeTodo(index) {
      this.todos.splice(index, 1);
    }
  }
};
</script>

<style>
.todo-list {
  max-width: 600px;
  margin: 0 auto;
}
.completed {
  text-decoration: line-through;
  color: #999;
}
ul {
  list-style: none;
  padding: 0;
}
li {
  display: flex;
  align-items: center;
  margin: 10px 0;
}
</style>

功能说明

  • 添加任务:在输入框中输入任务内容,按回车键或点击“添加”按钮即可添加任务。
  • 标记完成:勾选复选框可以标记任务为完成状态,任务文本会显示为删除线。
  • 删除任务:点击“删除”按钮可以移除任务。

扩展功能

如果需要更复杂的功能,可以结合Element UI的其他组件进行扩展:

  • 使用el-dialog实现任务编辑功能。
  • 使用el-tag为任务添加标签分类。
  • 使用el-date-picker为任务设置截止日期。

注意事项

  • 确保Vue项目已经正确配置。
  • 可以根据需求调整样式和布局。
  • 如果需要持久化存储,可以结合localStorage或后端API实现。

分享给朋友:

相关文章

elementui select

elementui select

ElementUI Select 组件使用指南 ElementUI 是基于 Vue.js 的组件库,其中 Select 组件用于提供下拉选择功能。以下是常见用法和配置方法。 基础用法 通过 v-mo…

selectable elementui

selectable elementui

使 ElementUI 组件可选中 ElementUI 默认情况下没有直接提供 selectable 功能的组件,但可以通过以下方法实现可选中效果。 使用 el-checkbox 实现单个选中 通过…

elementui ico

elementui ico

ElementUI 图标使用指南 ElementUI 提供了一套内置的图标库,可以通过 el-icon- 前缀直接使用。这些图标基于字体图标(iconfont)实现,支持灵活的颜色、大小调整。 内置…

elementui navmenu

elementui navmenu

使用 ElementUI NavMenu 导航菜单 ElementUI 的 NavMenu 组件提供了一种简单的方式来实现网站或应用的导航菜单。以下是关于如何使用和配置 NavMenu 的详细说明。…

elementui核心

elementui核心

Element UI 核心概念 Element UI 是基于 Vue.js 2.0 的桌面端组件库,其核心设计理念是简洁、高效、易用。以下是其核心组成部分: 组件化设计 提供丰富的 UI 组件,如…

elementui transfer

elementui transfer

ElementUI Transfer 组件使用指南 ElementUI 的 Transfer 组件用于在两栏之间转移数据,适用于权限分配、数据分类等场景。以下为详细使用方法: 基础用法 在模板中引入…