vue2.x搭建saas项目系列之八:mixins在大型项目中的使用之道

此篇幅主要介绍、我们是如何做mixins的公共类封装,如有不足和建议请留言,在此感谢,项目目前阶段还处在少年,一直在迭代

由于是saas项目,对于Table的搜索、操作都差不多,于是基于类似的场景抽离了多个mixin类,直接在项目中混入即可

Table index.ts

/*
 * @Author: 无招
 * @Date: 2020-11-04 09:42:29
 * @LastEditTime: 2021-01-05 11:53:14
 * @LastEditors: Please set LastEditors
 * @Description: 列表的 头部左侧搜索、分页、以及一些关于 表格的参数 和方法
 */

 
import { Component, Vue, Watch } from 'vue-property-decorator'
@Component({
  name: 'TableMixin'
})
export default class extends Vue {
  public loading: boolean = false                   // loading状态
  public searchValue: string = ''                     // search val
  public moreSearchVal: any = {}                    // 更多搜索 search val 
  public searchVisible: boolean = false             // 头部更多搜索 弹窗
  public total: number = 0                        // 分页参数 总个数
  public page: number = 1                         // 分页参数 页码
  public pages: number = 10                        // 总页数
  public limtSize: number = 10                    // 分页参数 页长
  public inputNum: number = 1                     // 左上角 输入框 搜索
  public tableData: any[] = []                    // 列表数据
  public emptyText: string = ''                   // 列表没有的 显示 文字
  public noDataState: boolean = false             // 列表没有的 显示 状态
  public searchObj = {                            // 搜索的基础对象
    pageSize: this.limtSize,
    pageNum: this.page
  }       
  
  created() { 
    this.getTableData()
  }
  // 列表 接口
  public getTableData(): void {  
    // console.log('getTableData')
  }
  
  // 底部 分页操作
  public paginationList(obj: any) {    
    this.limtSize = obj.limit
    this.page = obj.page
    this.searchObj.pageSize = obj.limit
    this.searchObj.pageNum = obj.page
    this.getTableData()
  }
}

页面中使用

import { Component, Vue } from 'vue-property-decorator'
import { mixins } from 'vue-class-component'
import TableMixin from '@/mixins/table'

export default class extends mixins(TableMixin) {}

到此,mixins在大型项目中的使用之道-文章结束,原创不易,感谢浏览!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值