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,此时就实现了点击按钮实现高亮的效果。

  • 相关阅读:
    程序员创业必读的几本书
    新手上路—Java的"瑞士军刀"
    小团队互联网创业记
    Coder必须自废的两样神功
    码界新手,如何更高效的解决问题
    【转载】FckEditor 2.6.3 for Java 2.4 配置
    struts2上传多文件(b)
    Java基础-Java中的Calendar和Date类
    JAVA加减日期
    Java程序员应该了解的10个面向对象设计原则
  • 原文地址:https://www.cnblogs.com/joe235/p/12744697.html
Copyright © 2011-2022 走看看