Vuex,iView UI面包屑导航使用扩展详解


Posted in Javascript onNovember 04, 2019

本案例是基于Vuex的公共数据库,你在了解本案例之前要了解Vuex的使用方法。

https://www.iviewui.com/components/breadcrumb

打开网址我们可以知道这个组件的面包屑导航是基于路由跳转的。但是我们项目中常常用到单页面查询面包屑导航。小生开始为这个纠结好久。然后和小伙伴一起研究出来一套单页面不用路由跳转的使用方法。

先看看效果图

1,首次进来

Vuex,iView UI面包屑导航使用扩展详解

2,查询结果

Vuex,iView UI面包屑导航使用扩展详解

3,再次点击面包屑导航

Vuex,iView UI面包屑导航使用扩展详解

4,查询结果

Vuex,iView UI面包屑导航使用扩展详解

基本的效果是这样的

下面看代码

<template>
 <div class="members">
     <Breadcrumb separator=">" >   //面面包屑导航组件,用“>”隔开
      <BreadcrumbItem  v-for="(item,index) in accountList"> // 用v-for遍历循环账号数组
        <span class="select_span" @click="queryAgentMember(item)"> //商品这里放置账号,调用查询函数实现点击账号查询
         <Icon v-if="index==0" type="ios-home-outline"></Icon> // v-if判断第一个账号的图标
         <Icon v-if="index>0" type="android-person"></Icon> // v-if判断不是第一个账号的图标
         <span>{{item}}</span> // 图标后面的账号
        </span>
      </BreadcrumbItem>
     </Breadcrumb>
  <Table class="table_a" :border="showBorder" :stripe="showStripe" :show-header="showHeader" :height="fixedHeader ? 250 : ''"
      :size="tableSize" :data="queryAgentMemberdataList" :columns="tableColumns3"></Table>
 </div>
</template>
<script>
 import { mapActions,mapState } from "vuex";
 export default {
  data () {
   return {
    Account:'', //定义一个账号变量
    accountList:[], //定义一个数组装账号
    queryAgentMemberdataList:[], //这是表格列表数据
 
   }
  },
  methods:{
   ...mapActions('account',
    [
     'queryAgentMemberInfo',
    ]
   ),
   //查询函数
   search(acc) {
    this.time();
    if(acc ){ //对函数参数进行判断,在有账号的情况下
      this.Account = acc; // 如果有就赋值给Account
    }else if(this.childAccount === ""){ //继续判断没有下级账号
     this.Account = this.userDetail.account; // 如果没有就等于后台返回的账号
     if(this.accountList.indexOf(this.userDetail.account)==-1){ // 再一次判断这个账号在不在账号数组里面,这里是不在的情况下
      this.accountList.push(this.userDetail.account) // 不在就push到账号数组
     }
 
    }else { //对函数参数进行判断,在没有账号的情况下
     this.Account = this.childAccount
    }
    let data = {
     'memberAccount':this.Account,
     'sort': '1',
     'type': '1'
    };
    this.queryAgentMemberInfo(data).then((res) => {
     this.queryAgentMemberdataList = this.queryAgentMemberInfoList;
    })
   },
   // 面包屑导航点击查询实时变更函数
   queryAgentMember(account){
    let end = this.accountList.indexOf(account); // 定义一个变量等于传入的账号的下标
    this.accountList = this.accountList.slice(0,end+1); // 利用这个下标对张海数组进行截取
    this.search(account) //调用查询函数更新表格数据
   },
  },
  computed: {
   ...mapState(['userDetail']),
   ...mapState( "account",['queryAgentMemberInfoList',]),
   tableColumns3 () {
    let columns = [];
    if (this.showCheckbox) {
     columns.push({
      type: 'selection',
      align: 'center'
     })
    }
    if (this.showIndex) {
     columns.push({
      type: 'index',
      align: 'center'
     })
    }
    columns.push({
     title: '会员账号',
     sortable: true,
     render: (h, params) => {
      if (params.row.account === this.Account) {
      }
      return h('Span',{
       props: {
        type: 'text'
       },
       style: {
        color: '#4ca5e9',
        cursor: 'pointer'
       },
       on: {  // 这里还要对表格账号点击查询进行判断
        click:()=>{
         //同样的先判断账号数组里面有没有当前查询的账号,这里也是在没有的额情况下
         if(this.accountList.indexOf(params.row.account)==-1){ 
          //没有就将当前查询的账号添加到账号数组
          this.accountList.push(params.row.account)
         }
         this.search(params.row.account); //查询函数
        }
       }
      },params.row.account)
     }
    });
    columns.push({
     title: '账号名称',
     key: 'name'
    });
    columns.push({
     title: '彩票钱包余额',
     key: 'accountBalance',
     sortable: true
    });
    columns.push({
     title: '团队人数',
     key: 'childCount'
    });
    columns.push({
     title: '注册时间',
     key: 'create_Time',
     sortable: true,
     width: 200
    });
    columns.push({
     title: '最后登录时间',
     key: 'last_LoginTime',
     sortable: true,
     width: 150
    });
    columns.push({
     title: '下级总额',
     key: 'childAmount'
    });
    return columns;
   },
  },
  watch:{
   userDetail(){
    this.search()
   }
  }
 }
</script>

这里的代码不可以直接使用,但是方法都在,希望读者可以看懂。

以上这篇Vuex,iView UI面包屑导航使用扩展详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 极速 隐藏/显示万行表格列只需 60毫秒
Mar 28 Javascript
Javascript 实现TreeView CheckBox全选效果
Jan 11 Javascript
Javascript类库的顶层对象名用户体验分析
Oct 24 Javascript
Javascript中String的常用方法实例分析
Jun 13 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
Oct 08 Javascript
一系列Bootstrap导航条使用方法分享
Apr 29 Javascript
Angular-Touch库用法示例
Dec 22 Javascript
微信小程序 参数传递实例代码
Mar 20 Javascript
Angular.JS中指令ng-if的注意事项小结
Jun 21 Javascript
JavaScript实现旋转轮播图
Aug 18 Javascript
react中Suspense的使用详解
Sep 01 Javascript
Node.js实现断点续传
Jun 23 Javascript
vue双向绑定数据限制长度的方法
Nov 04 #Javascript
使用p5.js临摹动态图片
Nov 04 #Javascript
p5.js绘制创意自画像
Nov 04 #Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 #Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 #Javascript
vue中使用GraphQL的实例代码
Nov 04 #Javascript
Vue项目中Api的组织和返回数据处理的操作
Nov 04 #Javascript
You might like
php解压文件代码实现php在线解压
2014/02/13 PHP
PHP实现对数组分页处理实例详解
2017/02/07 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
php简单检测404页面的方法示例
2019/08/23 PHP
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
jQuery lazyLoad图片延迟加载插件的优化改造方法分享
2013/08/13 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
jQuery插件scroll实现无缝滚动效果
2015/04/27 Javascript
完美的js div拖拽实例代码
2016/09/24 Javascript
微信小程序 wxapp导航 navigator详解
2016/10/31 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
浅谈微信小程序列表埋点曝光指南
2019/10/15 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
[56:18]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
python使用三角迭代计算圆周率PI的方法
2015/03/20 Python
解决Python 中英文混输格式对齐的问题
2018/07/16 Python
对django中render()与render_to_response()的区别详解
2018/10/16 Python
Django数据库连接丢失问题的解决方法
2018/12/29 Python
Python实现的列表排序、反转操作示例
2019/03/13 Python
python实现邮件发送功能
2019/08/10 Python
python二元表达式用法
2019/12/04 Python
浅谈matplotlib.pyplot与axes的关系
2020/03/06 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
Python提取视频中图片的示例(按帧、按秒)
2020/10/22 Python
HTML5事件方法全部汇总
2016/05/12 HTML / CSS
世界各地的旅游、观光和活动:Isango!
2019/10/29 全球购物
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
银行出纳岗位职责
2013/11/25 职场文书
精通CAD能手自荐书
2014/01/31 职场文书
我们的节日清明节活动总结
2014/04/30 职场文书
司法局群众路线教育实践活动开展情况总结
2014/10/25 职场文书
成绩单评语
2015/01/04 职场文书
党校团干班培训心得体会
2016/01/06 职场文书
python绘制云雨图raincloud plot
2022/08/05 Python