zoukankan      html  css  js  c++  java
  • Vuex 的项目实例10 底部按钮高亮切换

    1、把底部按钮的默认 type 加上

    <!--操作按钮-->
    <a-button-group>
              <a-button type="primary" >全部</a-button>
              <a-button type="default" >未完成</a-button>
              <a-button type="default" >已完成</a-button>
    </a-button-group>

    2、给三个按钮都添加点击事件:

    <!--操作按钮-->
    <a-button-group>
              <a-button type="primary" @click="changList('all')">全部</a-button>
              <a-button type="default" @click="changList('undone')">未完成</a-button>
              <a-button type="default" @click="changList('done')">已完成</a-button>
    </a-button-group>
    
    <script>
    import { mapState, mapGetters } from 'vuex'
    export default {
      methods: {
        changList(e) {
          console.log(e)
        }
      }
    }
    </script>

    这时点击全部按钮,控制台打印“all”;点击未完成按钮,控制台打印“undone”;点击已经完成按钮,控制台打印“done”。

    3、在 store/index.js 文件的 state 中定义 viewKey:

    state: {
        viewKey: 'all' // 默认展示全部
    }

    4、把点击某个按钮的值赋值到 viewKey:

    // 修改页面上展示的列表数据
        changList(e) {
          console.log(e)
          this.$store.commit('changeViewKey', e)
        }

    5、打开 store/index.js 中添加 changeViewKey:

    mutations: {
        // 修改视图的关键字
        changeViewKey(state, key) {
          state.viewKey = key
        }
      }

    6、把全局的 viewKey 值映射为组件的计算属性:

    // 计算属性
      computed: {
        ...mapState(['list', 'inputValue', 'viewKey']),
      },

    7、根据 viewKey 的值,按需为底部按钮设置 type 值:

    <!--操作按钮-->
    <a-button-group>
       <a-button :type="viewKey === 'all' ?'primary' : 'default'" @click="changList('all')">全部</a-button>
       <a-button :type="viewKey === 'undone' ?'primary' : 'default'" @click="changList('undone')">未完成</a-button>
       <a-button :type="viewKey === 'done' ?'primary' : 'default'" @click="changList('done')">已完成</a-button>
    </a-button-group>

    ok,此时就实现了点击按钮实现高亮的效果。

  • 相关阅读:
    ssd 的anchor生成详解
    Qt小技巧8.利用反射机制通过类名创建Qt对象
    项目经验2.需求才是王道
    Qt实战12.可自由展开的ToolBox
    Qt实战11.进程窗口集成之假装写了个第三方软件
    Qt小技巧7.Qt4集成fusion风格
    Qt杂谈3.快速体验Qt for Android(windows平台)
    Qt实战10.支持最小化和最大化的QDockWidget
    gitlab 拉取远程分支代码
    CentOS7下用jdk1.7编译hadoop-2.7.1全过程详解
  • 原文地址:https://www.cnblogs.com/joe235/p/12744697.html
Copyright © 2011-2022 走看看