1.template中的代码

                                新增                      导入          导出          删除                          <!--   -->                        

2.script中代码:

const [registerTable, { reload }] = useTable({        // api: list,  // 请求接口        columns: columns, // 设置表格的表头        dataSource: dataSources, //表格的数据        formConfig: {            labelWidth: 80,          schemas: searchFormSchema,          resetFunc: resetFunc,        },        pagination: true,   //展示表格下方的分页        clickToRowSelect: true, //点击当前行多选框不选中,默认是true        // striped: false,  //是否斑马纹(隔行变色),默认true        rowSelection: { type: 'checkbox' },   //是否有多选功能        useSearchForm: true, // 是否有搜索功能        // showTableSetting: true,  // 是否有刷新和列设置        bordered: true, // 是否显示边框        showIndexColumn: true, // 是否显示序号列        actionColumn: {          //   width: 240,          title: '操作',          dataIndex: 'action',          slots: { customRender: 'action' },        },      });

效果如下:

表格右边设置就是刷新和列设置

3.ts中数据格式:

import { BasicColumn } from '/@/components/Table';import { FormSchema } from '/@/components/Table';// 表格表头export const columns: BasicColumn[] = [  {    title: '姓名',    dataIndex: 'name',    // slots: { customRender: 'status' },  },  {    title: '性别',    dataIndex: 'sex',  },  {    title: '字段1',    dataIndex: 'one',  },  {    title: '字段2',    dataIndex: 'two',  },];// 搜索框export const searchFormSchema: FormSchema[] = [  {    field: 'one',    label: '字段1',    component: 'Input',    colProps: { span: 5 },    // componentProps: {    //   options: [],    // },  },  {    // 下拉框    field: 'two',    label: '字段2',    component: 'Select',    colProps: { span: 5 },    // 下拉框数据    componentProps: {      options: [        {            label:'aa',            value:'aa',        },        {            label:'bb',            value:'bb',        },      ],    },  },  {    field: 'three',    label: '字段3',    component: 'Input',    colProps: { span: 5 },    // componentProps: {    //  options: [],    // },  },  {    field: 'four',    label: '字段4',    component: 'Input',    colProps: { span: 5 },    // componentProps: {    //  options: [],    // },  },];

效果图如下:

clickToRowSelect: true, 表示点击当前行多选框是否选中,默认是true,效果如下:

4.vben中methods写的位置,官方文档是这么写的:

但是在代码中具体是怎么使用呢?

(1)初始化表格的时候methods写在后面那个大括号中,props写在下面

(2)getSelectRows是个函数,调用这个函数就能拿到表格中选中的数据,可以通过forEach变量:

5.表格中自带搜索功能,那个搜索框的插槽名前面要加form,

eg:表单插槽名time,在表格中的写法是

表单插槽