|
今天給大家分享如何制作todo list微信小程序。 資源
工具
過程打開微信開發(fā)工具,創(chuàng)建新項目
導(dǎo)入weui for 小程序 基礎(chǔ)樣式庫
在全局引入weui基礎(chǔ)樣式庫
@import './src/wxss/weui.wxss';
創(chuàng)建todo頁面
添加tasks數(shù)據(jù)
tasks每個元素包含三個字段:
渲染tasks列表
<view class="page">
<view class="page__bd">
<view class="weui-cell">
<view class="weui-cell__bd">
<input class="weui-input" placeholder="添加新任務(wù)"/>
</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狀態(tài)
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創(chuàng)建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: ''
});
},
完成
|