vben admin BasicTable表格基本使用

vben admin是一款强大的后台管理系统,广泛应用于各种项目中。本文将为您详细介绍如何使用
便您更快地上手并充分发挥其功能。

Table 表格 | Vben Admin一个开箱即用的前端框架icon-default.png?t=N7T8https://jeesite.com/front/vben-admin/docs/components/table.html#usage

1.register: 里面是table里面的一些配置项,比如header标题、内容、查询... 详情可以文档
2.#toolbar: 头部添加按钮
3.#bodyCell: 可以在这里面做一些表格内容的更改,比如图片展示、操作等
    record:为当条数据
    column:为字段名字,根据字段名称进行某一项的修改 

4.TableAction: 作用和button按钮一样

<template>
  <div>
    <BasicTable @register="registerTable">
      <template #toolbar>
        <Button type="primary" @click="handleCreatedAdd">添加</Button>
      </template>
      <template #bodyCell="{ record, column }">
        <template v-if="column.key === 'userAvatar'">
          <div v-if="!record.userAvatar">-</div>
          <div v-else>
            <Image
              :width="40"
              style="border-radius: 50%"
              :src="globSetting.staticUrl + record.userAvatar"
            />
          </div>
        </template>
        <template v-if="column.key === 'action'">
          <TableAction
            :actions="[
              {
                label: '删除',
                color: 'error',
                onClick: handleDelete.bind(null, record),
              },
            ]"
          />
        </template>
      </template>
    </BasicTable>
  </div>
</template>

1. title:标题
2.columns:表格内容相关配置
3.formConfig:表单查询相关配置 
4.api:列表接口
5.useSearchForm: // 使用搜索表单 如果有查询表单 此项必填true
6.showTableSetting: true, //刷新按钮
7.bordered: true, //是否显示表格边框
8.showIndexColumn: false, // 是否显示序号
9.rowKey: 'id', //根据唯一的rowKey 动态删除指定行的数据.可用于不刷新整个表格而局部更新数据
10. actionColumn: {
         width: 80, /宽度
         title: '操作', 操作名称
         dataIndex: 'action', //字段
         fixed: 'right', // 显示到右边
      }
11.reload:渲染表格数据,可用于添加后或者删除后调用
更多配置可以去文档上查看

<script setup lang="ts">
   // 引入表格的
  import { BasicTable, useTable, TableAction } from '@/components/Table';
   //引入 表格内容和头部查询框
  import { columns, searchFormSchema } from './index.data';
   // 引入 ant-design-vue的button和image
  import { Button, Image } from 'ant-design-vue';
   // 引入 列表的接口
  import { welcomeMessageListApi } from '@/api/content/welcome-message/index';
   // 引入 图片的前缀
  import { useGlobSetting } from '@/hooks/setting';
  const globSetting = useGlobSetting();
    //表格的相关配置
  const [registerTable, { reload }] = useTable({
    title: '表格标题',
    columns,
    formConfig: {
      labelWidth: 100,
      schemas: searchFormSchema,
    },
    api: welcomeMessageListApi,
    useSearchForm: true, 
    showTableSetting: true,
    bordered: true, 
    showIndexColumn: false, 
    rowKey: 'id', 
    actionColumn: {
      width: 80, 
      title: '操作',
      dataIndex: 'action', 
      fixed: 'right', 
    },
  });
   //添加的相关操作
  const handleCreatedAdd = () => {};
   // 删除相关操作
  const handleDelete = (record: any) => {
    console.log(record);
    reload();
  };
</script>

index.data里面的相关配置

import { BasicColumn, FormSchema } from '@/components/Table';
export const columns: BasicColumn[] = [
  { title: '用户ID', dataIndex: 'userNo' },
  { title: '用户昵称', dataIndex: 'userNickname' },
  { title: '用户头像', dataIndex: 'userAvatar' },
  { title: '欢迎语内容', dataIndex: 'welcomeContent' },
  { title: '提交时间', dataIndex: 'createTime' },
];

export const searchFormSchema: FormSchema[] = [
  {
    field: 'userNo',
    label: '用户ID',
    component: 'Input',
    defaultValue: '',
    componentProps: {
      placeholder: '请输入用户ID',
    },
    colProps: { span: 5 },
  },
];

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,那我来给你介绍一下如何使用 Django 和 vbenadmin 来搭建一个自动化平台。 1. 安装 Django 和 vbenadmin 首先需要安装 Django 和 vbenadmin,可以使用 pip 进行安装: ```bash pip install Django pip install django-vben-admin ``` 2. 创建 Django 项目 使用 Django 的命令行工具创建一个新的项目: ```bash django-admin startproject myproject ``` 其中 myproject 是你的项目名称,可以根据实际情况进行修改。 3. 创建 Django 应用 在项目目录下创建一个新的应用: ```bash cd myproject python manage.py startapp myapp ``` 其中 myapp 是你的应用名称,可以根据实际情况进行修改。 4. 配置数据库 在 myproject/settings.py 文件中配置数据库信息,例如使用 SQLite: ```python DATABASES = { 'default': { 'ENGINE': 'django.db.backends.sqlite3', 'NAME': BASE_DIR / 'db.sqlite3', } } ``` 5. 配置 vbenadmin 在 myproject/settings.py 文件中添加 vbenadmin 的配置: ```python INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'vben_admin', 'myapp', ] MIDDLEWARE = [ 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', ] TEMPLATES = [ { 'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': [], 'APP_DIRS': True, 'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], }, }, ] STATIC_URL = '/static/' LOGIN_URL = '/admin/login/' VUE_ADMIN_CONFIG = { 'site_title': 'My Site', 'site_logo': '/static/logo.png', 'menu': [ { 'text': 'Dashboard', 'icon': 'el-icon-s-home', 'link': '/admin/dashboard/', }, ], } ``` 其中 VUE_ADMIN_CONFIG 是 vbenadmin 的配置,包括站点标题、站点 Logo、菜单等。 6. 创建数据库表 使用 Django 的命令行工具创建数据库表: ```bash python manage.py migrate ``` 7. 创建超级用户 使用 Django 的命令行工具创建超级用户: ```bash python manage.py createsuperuser ``` 根据提示输入用户名、邮箱和密码即可。 8. 创建模型 在 myapp/models.py 文件中定义数据模型,例如: ```python from django.db import models class Server(models.Model): name = models.CharField(max_length=50) ip = models.CharField(max_length=15) username = models.CharField(max_length=50) password = models.CharField(max_length=50) description = models.TextField(blank=True) def __str__(self): return self.name ``` 9. 注册模型 在 myapp/admin.py 文件中注册数据模型: ```python from django.contrib import admin from .models import Server admin.site.register(Server) ``` 10. 运行服务器 使用 Django 的命令行工具运行服务器: ```bash python manage.py runserver ``` 现在可以通过浏览器访问 http://127.0.0.1:8000/admin/ 进入后台管理界面,使用刚才创建的超级用户登录。 11. 创建前端页面 可以使用 vbenadmin 的组件来创建前端页面,例如创建一个服务器列表页面: ```vue <template> <v-card> <v-table :data="servers" :columns="columns" /> </v-card> </template> <script> export default { data() { return { servers: [], columns: [ { title: '名称', key: 'name' }, { title: 'IP地址', key: 'ip' }, { title: '用户名', key: 'username' }, { title: '描述', key: 'description' }, ], }; }, created() { this.getServers(); }, methods: { getServers() { this.$axios.get('/api/servers/').then((response) => { this.servers = response.data; }); }, }, }; </script> ``` 其中 v-tablevbenadmin表格组件,$axios 是 vbenadmin 封装的请求库,/api/servers/ 是后台接口地址。 12. 创建后台接口 在 myapp/views.py 文件中定义后台接口,例如: ```python from rest_framework import viewsets from .models import Server from .serializers import ServerSerializer class ServerViewSet(viewsets.ModelViewSet): queryset = Server.objects.all() serializer_class = ServerSerializer ``` 其中 ServerViewSet 继承自 rest_framework 的 viewsets.ModelViewSet,queryset 指定了数据源,serializer_class 指定了数据序列化器。 在 myapp/urls.py 文件中定义后台接口路由,例如: ```python from django.urls import path, include from rest_framework import routers from .views import ServerViewSet router = routers.DefaultRouter() router.register(r'servers', ServerViewSet) urlpatterns = [ path('api/', include(router.urls)), ] ``` 其中 routers.DefaultRouter 自动生成了 CRUD 操作的路由。 现在可以通过浏览器访问 http://127.0.0.1:8000/api/servers/ 获取服务器数据。 13. 集成前后端 在 myproject/settings.py 文件中配置静态文件目录: ```python STATICFILES_DIRS = [ BASE_DIR / 'static', ] ``` 在 static 目录下创建 index.html 文件,引入前面创建的前端页面: ```html <!DOCTYPE html> <html> <head> <title>My Site</title> <link rel="stylesheet" href="/static/css/app.css"> <script src="/static/js/app.js"></script> </head> <body> <div id="app"> <server-list /> </div> </body> </html> ``` 其中 /static/css/app.css 和 /static/js/app.js 是 vbenadmin 编译后的静态文件,<server-list /> 是前面创建的前端页面组件。 在 myproject/urls.py 文件中配置路由: ```python from django.urls import path, include from django.views.generic import TemplateView urlpatterns = [ path('admin/', include('vben_admin.urls')), path('', TemplateView.as_view(template_name='index.html')), ] ``` 其中 /admin/ 是 vbenadmin 的路由,'' 是首页路由,使用 TemplateView.as_view(template_name='index.html') 渲染 index.html 文件。 现在可以通过浏览器访问 http://127.0.0.1:8000/ 查看自动化平台了。 以上是使用 Django 和 vbenadmin 搭建自动化平台的基本步骤,根据实际需求可以进行进一步的开发和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值