Vue增删改查(Todo-list进阶版)

效果实现流程:

  1. 首先创建一个vue项目,Todo-list总共分三步来写,
  2. 头部我们使用input框来实现输入的数据,使用键盘事件点击添加到数据中,使用v-model实现响应式数据,
  3. 第二步来进行筛选,是完成还是未完成
  4. 我们添加的数据在这里拿到进行渲染,然后我们用css3的属性实现删除的显示和隐藏

 代码实现思路:

vuex代码实现思路:

我们在vuex中创建一个空对象,在定义一个初始值和初始状态,当我们的全部,然后在用map循环通过id来判断他的状态,是true还是false,实现单选和全选

代码实现:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state:{
    listData:[],
    status:'all',
    totalselect:false
  },
  mutations: {
		SET_LIST_DATA(state,data){
      state.listData.push(data)
      state.totalselect=false
      localStorage.setItem('listData',JSON.stringify(state.listData))
      localStorage.setItem('totalselect',JSON.stringify(state.totalselect))
    },
    GET_LIST(state,data){
      const {listData,totalselect}=data
      state.listData=listData
      state.totalselect=totalselect
    },
    SET_SELECT(state,id){
      state.listData.map(item=>{
        if(item.id==id){
          item.select=!item.select
        }
      })
      const num=state.listData.filter(item=>item.select).length
      if(num==state.listData.length){
        state.totalselect=true
      }else{
        state.totalselect=false
      }
      localStorage.setItem('listData',JSON.stringify(state.listData))
      localStorage.setItem('totalselect',JSON.stringify(state.totalselect))
    },
    SET_TOTAL_SELECT(state){
      state.totalselect=!state.totalselect
      if(state.totalselect==true){
        state.listData.map(item=>{
            item
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值