微信小程序实现一个todolist这样的小demo

小程序实现todolist

下面是一个简单的待办事项清单应用的示例,它包括添加任务、完成任务和删除任务的功能。

app.json 文件中

javascript 复制代码
{
  "pages": [
    "pages/index/index",
    "pages/todoList/todoList"
  ],
  "window": {
    "navigationBarTitleText": "Todo List"
  }
}

创建 pages/todoList/todoList.js 文件

javascript 复制代码
Page({
  data: {
    todoList: []
  },
  onLoad: function() {
    this.loadTodoList();
  },
  loadTodoList: function() {
    // 从本地存储中加载待办事项列表
    const todoList = wx.getStorageSync('todoList');
    if (todoList) {
      this.setData({
        todoList: JSON.parse(todoList)
      });
    }
  },
  addTodo: function(e) {
    const value = e.detail.value;
    if (value) {
      const todo = {
        id: new Date().getTime(),
        content: value,
        completed: false
      };
      const todoList = [...this.data.todoList, todo];
      this.setData({
        todoList
      });
      wx.setStorageSync('todoList', JSON.stringify(todoList));
    }
  },
  completeTodo: function(e) {
    const id = e.currentTarget.dataset.id;
    const todoList = this.data.todoList.map(todo => {
      if (todo.id === id) {
        todo.completed = true;
      }
      return todo;
    });
    this.setData({
      todoList
    });
    wx.setStorageSync('todoList', JSON.stringify(todoList));
  },
  deleteTodo: function(e) {
    const id = e.currentTarget.dataset.id;
    const todoList = this.data.todoList.filter(todo => todo.id !== id);
    this.setData({
      todoList
    });
    wx.setStorageSync('todoList', JSON.stringify(todoList));
  }
})

创建 pages/todoList/todoList.wxml 文件

javascript 复制代码
<view class="container">
  <view class="header">
    <text>待办事项:</text>
    <input type="text" bindconfirm="addTodo" placeholder="请输入任务内容" />
  </view>
  <view class="list">
    <block wx:for="{{todoList}}">
      <view class="item {{item.completed ? 'completed' : ''}}">
        <text>{{item.content}}</text>
        <button bindtap="completeTodo" data-id="{{item.id}}">完成</button>
        <button bindtap="deleteTodo" data-id="{{item.id}}">删除</button>
      </view>
    </block>
  </view>
</view>

当你输入任务内容并按下回车键时,任务将被添加到待办事项清单中。

点击任务后面的"完成"按钮,任务将被标记为已完成,并在界面上显示为灰色。

点击任务后面的"删除"按钮,任务将从待办事项清单中删除。

这个示例只是一个简单的待办事项清单应用,你可以根据自己的需求进行扩展和修改。

到这里也就结束了,希望对您有所帮助。

相关推荐
2501_915921439 小时前
iOS 应用代上架流程,多工具组合与使用 开心上架 跨平台自动化上传指南
android·ios·小程序·uni-app·自动化·cocoa·iphone
知识分享小能手9 小时前
uni-app 入门学习教程,从入门到精通,uni-app组件 —— 知识点详解与实战案例(4)
前端·javascript·学习·微信小程序·小程序·前端框架·uni-app
Q_Q19632884759 小时前
python+uniapp基于微信小程序的助眠小程序
spring boot·python·小程序·django·flask·uni-app·node.js
韩立学长12 小时前
基于微信小程序的公益捐赠安全平台9hp4t247 包含完整开发套件(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·微信小程序·小程序
2501_9159184112 小时前
iOS 混淆与 IPA 加固一页式行动手册(多工具组合实战 源码成品运维闭环)
android·运维·ios·小程序·uni-app·iphone·webview
流***陌1 天前
扭蛋机 Roll 福利房小程序前端功能设计:融合趣味互动与福利适配
前端·小程序
亮子AI1 天前
【小程序】微信小程序点击效果(view、button、navigator)
微信小程序·小程序
Q_Q5110082851 天前
python+uniapp基于微信小程序团购系统
spring boot·python·微信小程序·django·uni-app·node.js·php
future_studio1 天前
聊聊 Unity(小白专享、C# 小程序 之 加密存储)
开发语言·小程序·c#
炒毛豆1 天前
uniapp微信小程序+vue3基础内容介绍~(含标签、组件生命周期、页面生命周期、条件编译(一码多用)、分包))
vue.js·微信小程序·uni-app