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

elementui todolist

2026-03-05 22:10:00前端教程

ElementUI 实现 TodoList

使用 ElementUI 实现一个简单的 TodoList 应用,可以结合 Vue.js 框架进行开发。以下是具体实现步骤:

1. 安装 ElementUI

确保已安装 Vue.js 项目后,通过 npm 或 yarn 安装 ElementUI:

npm install element-ui

2. 引入 ElementUI

main.js 中引入 ElementUI 及其样式:

elementui todolist

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

Vue.use(ElementUI);

3. 创建 TodoList 组件

新建一个 Vue 组件(如 TodoList.vue),包含以下核心功能:

  • 输入框添加任务
  • 任务列表展示
  • 标记完成/删除任务
<template>
  <div class="todo-list">
    <el-input
      v-model="newTask"
      placeholder="输入任务内容"
      @keyup.enter.native="addTask"
    >
      <el-button slot="append" @click="addTask">添加</el-button>
    </el-input>

    <el-divider></el-divider>

    <el-card>
      <el-table :data="tasks" style="width: 100%">
        <el-table-column prop="content" label="任务内容"></el-table-column>
        <el-table-column label="状态" width="120">
          <template slot-scope="scope">
            <el-tag :type="scope.row.completed ? 'success' : 'info'">
              {{ scope.row.completed ? '已完成' : '未完成' }}
            </el-tag>
          </template>
        </el-table-column>
        <el-table-column label="操作" width="180">
          <template slot-scope="scope">
            <el-button
              size="mini"
              @click="toggleComplete(scope.$index)"
              :type="scope.row.completed ? 'warning' : 'success'"
            >
              {{ scope.row.completed ? '取消完成' : '标记完成' }}
            </el-button>
            <el-button
              size="mini"
              type="danger"
              @click="removeTask(scope.$index)"
            >
              删除
            </el-button>
          </template>
        </el-table-column>
      </el-table>
    </el-card>
  </div>
</template>

<script>
export default {
  data() {
    return {
      newTask: '',
      tasks: []
    };
  },
  methods: {
    addTask() {
      if (this.newTask.trim()) {
        this.tasks.push({
          content: this.newTask,
          completed: false
        });
        this.newTask = '';
      }
    },
    toggleComplete(index) {
      this.tasks[index].completed = !this.tasks[index].completed;
    },
    removeTask(index) {
      this.tasks.splice(index, 1);
    }
  }
};
</script>

4. 样式优化

elementui todolist

根据需要添加自定义样式:

<style scoped>
.todo-list {
  max-width: 800px;
  margin: 0 auto;
  padding: 20px;
}
</style>

5. 功能扩展建议

  • 添加本地存储功能,使用 localStorage 持久化任务数据
  • 增加任务分类筛选功能
  • 实现任务优先级设置
  • 添加任务完成时间统计

6. 注意事项

  • 确保 Vue 版本与 ElementUI 兼容
  • 对于复杂场景,可以考虑使用 Vuex 进行状态管理
  • 移动端适配可能需要额外调整样式

以上实现提供了一个基础的 TodoList 功能,可以根据实际需求进一步扩展和完善。

分享给朋友:

相关文章

elementui spring

elementui spring

ElementUI 与 Spring 整合方法 ElementUI 是基于 Vue.js 的前端组件库,Spring 是 Java 后端框架。整合两者需要前后端分离架构,通过 RESTful API…

elementui ref

elementui ref

ElementUI 中使用 ref 的方法 在 ElementUI 中,ref 主要用于获取组件实例或 DOM 元素的引用,方便直接调用组件方法或操作 DOM。以下是几种常见的使用场景和示例:…

elementui模板

elementui模板

ElementUI 模板使用指南 ElementUI 是一个基于 Vue.js 的组件库,提供丰富的 UI 组件,适用于快速开发中后台管理系统。以下是 ElementUI 模板的常见用法和资源推荐。…

elementui filter

elementui filter

ElementUI 过滤器(Filter)使用指南 ElementUI 是一套基于 Vue.js 的组件库,常用于快速构建前端界面。过滤器(Filter)在 ElementUI 中主要用于表格(Tab…

elementui中文

elementui中文

Element UI 中文资源 Element UI 是一款基于 Vue.js 的桌面端组件库,提供丰富的 UI 组件和友好的开发体验。以下是关于 Element UI 的中文资源和使用方法: 官方…

elementui标签

elementui标签

ElementUI 标签的基本使用 ElementUI 提供 <el-tag> 组件用于展示标签信息,支持多种样式和交互功能。 基础用法 通过 type 属性设置标签类型,可选值包括…