前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【VIDEO_Parent】-创作者前端-创作者列表

【VIDEO_Parent】-创作者前端-创作者列表

原创
作者头像
BNTang
发布2023-11-30 13:27:52
1770
发布2023-11-30 13:27:52
举报

修改路由跳转

修改路由

需要注意把如下图的地方给注释掉,不要纠结为啥,因为路由重复了

代码语言:javascript
复制
{
    path: '/',
    component: Layout,
    // redirect: '/dashboard',
    children: [{
      path: '/',
      name: '首页',
      component: () => import('@/views/dashboard/index'),
      meta: {title: '首页', icon: 'dashboard'}
    }]
  },
  {
    path: '/author',
    component: Layout,
    redirect: '/author/table',
    name: '创作者管理',
    meta: {title: '创作者管理', icon: 'el-icon-s-help'},
    children: [
      {
        path: 'table',
        name: '创作者列表',
        component: () => import('@/views/video/author/list'),
        meta: {title: '创作者列表', icon: 'table'}
      },
      {
        path: 'save',
        name: '添加创作者',
        component: () => import('@/views/video/author/save'),
        meta: {title: '添加创作者', icon: 'tree'}
      }
    ]
  },

在上图中我新建了两个组件,如何新建的呢,快捷键为 Ctrl + Alt + Shift + insert 即可弹出如下的框子选择 Vue Component 如下图

不使用快捷键的话那么就直接在需要添加组件的文件包上面鼠标右键选择 New 也可以出现如上图的选项卡

创建组件

一个 list,一个 save 内容如下图所示

编写 api 请求数据

列表数据请求

在 api 文件夹当中创建请求的 js 文件

代码语言:javascript
复制
import request from '@/utils/request'

export default {
  // 1.作者列表-分页查询
  getAuthorListPage(page, limit, authorQuery) {
    return request({
      // 路由参数拼接
      url: `/service_video/author/pageList/${page}/${limit}/`,
      method: 'post',
      // data 会自动转成 json 传递到接口当中
      data: authorQuery
    })
  }
}

在 list.vue 当中引入对应的 js

代码语言:javascript
复制
// 引入 author.js 调用对应的请求方法
import author from '@/api/video/author/author';

定义成员变量, 发送请求

代码语言:javascript
复制
export default {
  name: "list",
  // 定义变量与初始值
  data() {
    return {
      // 查询的结果集
      list: null,
      // 当前页
      page: 1,
      // 每页多少条记录
      limit: 10,
      // 总记录数
      total: 0,
      // 查询封装的对象
      authorQuery: {}
    }
  },
  // 自定义方法
  methods: {
    getAuthorList(page = 1) {
      this.page = page
      author.getAuthorListPage(this.page, this.limit, this.authorQuery)
        .then(resp => {
          // 处理请求成功
          console.log(resp);
        }).catch(error => {
        // 请求失败
      });
    }
  },
  // 页面渲染之前会自动调用此方法
  created() {
    this.getAuthorList();
  }
}

在后端服务器接口当中添加跨域注解

代码语言:java
复制
@CrossOrigin

前端和后端工程都启动点击创作者列表效果如下图所示

Element-ui 表格组件

https://element.eleme.io/#/zh-CN/component/table

数据展示

创作者列表数据展示

代码语言:html
复制
<!--
表格
-->
<el-table
  :data="list"
  border
  fit
  highlight-current-row>
  <el-table-column label="序号" align="center"/>
  <el-table-column label="名称" align="center" prop="name"/>
  <el-table-column label="级别" align="center"/>
  <el-table-column label="创作者简介" align="center" prop="intro"/>
  <el-table-column label="添加时间" align="center" prop="gmtCreate"/>
  <el-table-column label="排序" align="center" prop="sort"/>
  <el-table-column label="操作" align="center">
    <el-button type="primary" size="mini" icon="el-icon-edit">修改</el-button>
    <el-button type="danger" size="mini" icon="el-icon-delete">删除</el-button>
  </el-table-column>
</el-table>

处理请求成功的回调如下

序号与级别处理

代码语言:html
复制
<!-- 通过 slot 拿到表格当中绑定的数据 -->
<template slot-scope="scope">
  {{ scope.$index + 1 }}
</template>
代码语言:html
复制
<!-- 通过 slot 拿到表格当中绑定的数据 -->
<template slot-scope="scope">
  {{ scope.row.level === 1 ? "普通创作者" : "特约创作者" }}
</template>

最后

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 修改路由跳转
    • 修改路由
      • 创建组件
      • 编写 api 请求数据
        • 列表数据请求
        • Element-ui 表格组件
        • 数据展示
        • 最后
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档