vue vben admin 使用, (个人感觉这项目封装的太深了!!!!)

useTable 使用

我们是不会被困难打败的, 只会越战越勇!

开启了表单搜索功能, demo 代码是 formtable 组件, 个人还是比较喜欢 template 方式, 这样的方式使用不了 getForm 这种方法

需要注意的是, 如果使用了组件表单搜索功能, 就是说你需要提供一个获取数据的api, 这里着重去看怎么适配表格需要的响应数据结构

  • 组件代码
<template>
  <BasicTable
    ref="bastTable"
    :can-resize="true"
    :use-search-form="true"
    :form-config="getFormConfig()"
    :api="demoListApi"
    :columns="getBasicColumns()"
  />
  <div>get</div>
</template>
<script lang="ts">
  import { defineComponent } from 'vue';
  import { BasicTable } from '/@/components/Table';
  import { getBasicColumns, getFormConfig } from './tableData';

  import { demoListApi } from '/@/api/demo/table';

  export default defineComponent({
    components: { BasicTable },
    setup() {
      return {
        demoListApi,
        getFormConfig,
        getBasicColumns,
      };
    },
  });
</script>

table: {
    // Form interface request general configuration
    // support xxx.xxx.xxx
    fetchSetting: {
      // The field name of the current page passed to the background
      pageField: 'page',
      // The number field name of each page displayed in the background
      sizeField: 'pageSize',
      // Field name of the form data returned by the interface
      listField: 'items',
      // Total number of tables returned by the interface field name
      totalField: 'total',
    },

如果你的数据结构不满足, 可以在请求方法里面做一层转换; 在请求方法里面重新返回一个 promise 对象, 用满足规定的格式返回就可以了

export const demoListApi = (params: DemoParams) => {
  return new Promise((resolve, reject) => {
    defHttp
      .get<DemoListGetResultModel>({
        url: Api.DEMO_LIST,
        params,
        headers: {
          // @ts-ignore
          ignoreCancelToken: true,
        },
      })
      .then((res) => {
        resolve({
          items: res.items,
        });
      });
  });
};

// or 
export const demoListApi = (params: DemoParams) => {
 return defHttp
      .get<DemoListGetResultModel>({
        url: Api.DEMO_LIST,
        params,
        headers: {
          // @ts-ignore
          ignoreCancelToken: true,
        },
      })
      .then((res) => {
        return {
          items: res.items,
        }
      });
};

建议表格这种东西使用 vben自己封装的, ant design 自身的还需要你去动态调整表格高度

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值