微信小程序:todo...list列表

微信小程序:todo…list

在这里插入图片描述
wxml内容:

<!-- 这里可以通过bindinput或者model:value两种方法去获得input里面的值 -->
<view class="getValue">
  <input type="text" value="{{inputValue}}" bindinput="getInput" class="inputVal" />
  <button bindtap="getVal" class="btnGet" size="mini">getVal</button>
</view>
<!-- 未选中 -->
<view class="isSelect">未选中</view>
<label class="weui-cell weui-check__label" wx:for="{{getValList}}" wx:key="index">
  <view hidden="{{item.checked}}" class="isShow">
    <checkbox bindtap="add" checked="{{item.checked}}" data-index="{{index}}" />
    <view>{{item.text}}</view>
    <text catchtap="delete" data-index="{{index}}" class="deleteItem">删除</text>
  </view>
</label>
<!-- 已选中 -->
<view class="isSelect">
  已选中
</view>
<label class="weui-cell weui-check__label" wx:for="{{getValList}}" wx:key="index">
  <view hidden="{{!item.checked}}" class="isShow">
    <checkbox bindtap="add" checked="{{item.checked}}" data-index="{{index}}" />
    <view style="{{item.checked?'text-decoration:line-through':''}}">{{item.text}}</view>
    <text catchtap="delete" data-index="{{index}}" class="deleteItem">删除</text>
  </view>
</label>

wxcc内容(样式很low仅供参考):

/* input */
.getValue{
  display: flex;
}
.inputVal{
  border: 1px solid red;
  margin-left: 50rpx;
  height: 60rpx;
  width: 500rpx;
}
.btnGet{
  background-color: gray;
}
.weui-cell{
  width: 100%;
  display: flex;
  justify-content: space-between;
  padding-left: 50rpx;
  margin-top: 30rpx;
}
.checkBoxInput{
  display: flex;
  justify-content: space-around;
}
.deleteItem{
  background-color: green;
}
/* 是否选中 */
.isSelect{
  text-align: center;
  margin-bottom: 50rpx;
  margin-top: 30rpx;
  font-size: 45rpx;
  background-color: greenyellow;
  border-radius: 2.667vh;
}
text{
  display: block;
  width: 100rpx;
  height: 50rpx;
  text-align: center;
  line-height: 50rpx;
  border-radius: 2.667vh;
}
.isShow{
  width: 80%;
  display: flex;
  justify-content: space-between;
}

js内容:

Page({
  /**
   * 页面的初始数据
   */
  data: {
    //input框的值
    inputValue:null,
    //获得input框的值
    getValue:null,
    //数组列表
    getValList:[
     {
      checked:false,
      text:"今天早点睡!!"
     },
     {
      checked:true,
      text:"今天睡!!"
     },
    ],
  },
  //input框的值
  getInput(e){
    this.data.getValue=e.detail.value
  },
  //获得输入框的值并给到数组
  getVal(){
    // 获得input框的值push到数组中
    this.data.getValList.push({
      checked:false,
      text:this.data.getValue,
    }) 
    //添加成功
    wx.showToast({
      title: '添加成功',
    })
    this.setData({
     getValList:this.data.getValList
    })
    wx.setStorageSync('getValList', this.data.getValList)
    //点击让input框的值为空
    this.setData({
      inputValue:'',
    })
  },
  //复选框
  add(e){
    console.log(e)
    console.log(e.target.dataset.index);
    let index = e.target.dataset.index
    //优化
    this.data.getValList[index].checked = !this.data.getValList[index].checked
    this.setData({
      // [`getValList[${index}].checked`] : !this.data.getValList[index].checked
      getValList:this.data.getValList
    })
    //存本地(同步)
    wx.setStorageSync('getValList', this.data.getValList)
  },
  //删除
  delete(e){
    let index = e.target.dataset.index
    //点击删除弹出模态框(是否删除)
    wx.showModal({
      title: '提示',
      content: '是否清除',
      success:(res)=>{
        console.log(res);
        if(res.confirm){
          //通过索引删除元素
          this.data.getValList.splice(index,1)
          this.setData({
            getValList:this.data.getValList
          })
          wx.showToast({
            title: '删除成功',
          })
        }else if(res.cancel){
          this.setData({
            getValList:this.data.getValList
          })
          wx.showToast({
            icon:'error',
            title: '取消删除',
          })
        }
      }
    })
    //存本地(同步)
    wx.setStorageSync('getValList', this.data.getValList)
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    //页面加载从本地中取出内容(同步)
    let list=wx.getStorageSync('getValList')
    this.setData({
      getValList:list||this.data.getValList
    })
  },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值