今天給大家分享如何制作todo list微信小程序。 資源
工具
過程打開微信開發工具,創建新項目
導入weui for 小程序 基礎樣式庫
在全局引入weui基礎樣式庫
@import './src/wxss/weui.wxss';
創建todo頁面
添加tasks數據
tasks每個元素包含三個字段:
渲染tasks列表
<view class="page"> <view class="page__bd"> <view class="weui-cell"> <view class="weui-cell__bd"> <input class="weui-input" placeholder="添加新任務"/> </view> <view class="weui-cell__ft"> <button class="weui-btn" type="primary">添加</button> </view> </view> <view class="weui-cells__title">待辦事項</view> <view class="weui-cells weui-cells__after-title"> <radio-group> <block wx:for="{{tasks}}" wx:key="value" wx:if="{{!item.status}}"> <label class="weui-cell weui-check__label"> <radio class="weui-check" value="{{item.value}}"></radio> <view class="weui-cell__hd weui-check__hd_in-checkbox"> <icon class="weui-icon-checkbox_circle" type="circle" size="23" wx:if="{{!item.checked}}"></icon> </view> <view class="weui-cell__bd">{{item.content}}</view> <view class="weui-cell__ft"><button class="weui-btn" type="warn">刪除</button></view> </label> </block> </radio-group> </view> <view class="weui-cells__title">完成事項</view> <view class="weui-cells weui-cells__after-title"> <radio-group> <block wx:for="{{tasks}}" wx:key="value" wx:if="{{item.status}}"> <label class="weui-cell weui-check__label"> <radio class="weui-check" value="{{item.value}}"></radio> <view class="weui-cell__hd weui-check__hd_in-checkbox"> <icon class="weui-icon-checkbox_success" type="success" size="23"></icon> </view> <view class="weui-cell__bd">{{item.content}}</view> <view class="weui-cell__ft"><button class="weui-btn" type="warn">刪除</button></view> </label> </block> </radio-group> </view> </view> </view>
改變task狀態
changeTaskStatus: function (e) { let value = e.currentTarget.dataset.value; let tasks = this.data.tasks; let index = tasks.findIndex(task => task.value == value); if (index < 0) { return; } tasks[index].status = !tasks[index].status; this.setData({ tasks: tasks }); }
刪除task
添加task創建task
typeNewTask: function(e) { this.setData({ newTask: e.detail.value.trim() }); }, 保存task
addTask: function () { let tasks = this.data.tasks; let key = this.data.key; let newTaskObj = { content: this.data.newTask, value: key++, status: false }; tasks.push(newTaskObj); this.setData({ tasks: tasks, key: key, newTask: '' }); }, 完成
|