前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Antd表格组件使用

Antd表格组件使用

作者头像
希里安
发布2023-10-30 18:41:33
1390
发布2023-10-30 18:41:33
举报
文章被收录于专栏:希里安希里安

五一小长假结束了,今天又是五四青年节,各位朋友节假日过得怎么样?

五一节假日偷了个懒,这几天就没有写文章分享给大家了,今天我们总结下四月的开发进度:

四月上半旬:主要介绍前后端开发基础,并走通了一个简单前后端分离的应用开发全流程,并进行了应用容器化和k8s部署。

四月下半旬:分享了几个优秀的开源前端项目,定下一个自己的开发项目。完成从需求分析到架构设计再到前后端功能的设计实现的三部分内容的梳理,截止4月底开发处于监控模块的开发。

五月的开发计划:

上半旬:前端页面的设计和功能开发

下半旬:后端接口的开发并开源此项目

上一次的开发停留在导航页转到监控面板garfana的展示地址:

那么接下来的时间,我们就用比较快的速度,把容易实现的模块功能实现出来。

比如在导航菜单直接添加一个子项目:

代码语言:javascript
复制
{
 path: 'logs',
 name: 'Logs',
 component: () => import('/@/views/dashboard/workbench/index.vue'),
 meta: {
 title: t('routes.dashboard.logs'),
 },
},

先添加需要模块的导航菜单以及展示面板

先把传统模块的子模块放上去:

1、监控面板

暂时使用超链接的方式转到grafana面板或者zabbix面板

2、任务执行

这一块的话,就是执行批量命令,实现方式暂时还没想好

3、日志汇总

还是使用转链接,转到已经成熟的日志面板,应该是比交快速的方法

4、网络面板

这一块打算汇总ping命令、路由追踪、端口查询等常用网络排障功能,具体我想应该有

(1)ip地址管理

(2)策略汇总,比如防火墙

(3)流量监控

5、机器资产

就是简单的汇总机器资源信息的增删改查

6、终端界面

使用xterm.js实现一个命令行终端界面,实现类unix终端的样式和布局

传统模块大概就这些,我们就一个一个来解决。

这个面板可以根据喜好进行对应的增删改查:

相当于在这里做一个汇总的超链接面板而已并没有什么开发量。

然后添加一个简单的机器汇总的表单页面:

但是需要另外添加对应的组件:

代码语言:javascript
复制
import {optionsListApi } from '../../api/select';
import {FormProps, FormSchema } from '/@/components/Table';
import {BasicColumn } from '/@/components/Table/src/types/table';
import {VxeFormItemProps, VxeGridPropTypes } from '/@/components/VxeTable';

要引入以上这些组件,到这里的时候慢慢发觉,虽然这个项目很方便,但是熟悉人家封装的组件还需要一段时间,所以如果不是特别着急,也还是建议自己走一遍开发流程。

我们再看看,如果直接引入antd的表格组件,官网代码:

代码语言:javascript
复制
<template>
 <a-table :columns="columns"
:data-source="data">
 <template #headerCell="{ column
}">
 <template v-if="column.key === 'name'">
 <span>
 <smile-outlined />
 Name
 </span>
 </template>
 </template>
 <template #bodyCell="{ column,
record }">
 <template v-if="column.key ===
'name'">
 <a>
 {{ record.name }}
 </a>
 </template>
 <template v-else-if="column.key
=== 'tags'">
 <span>
 <a-tag
 v-for="tag in
record.tags"
 :key="tag"
 :color="tag === 'loser' ?
'volcano' : tag.length > 5 ? 'geekblue' : 'green'"
 >
 {{ tag.toUpperCase() }}
 </a-tag>
 </span>
 </template>
 <template v-else-if="column.key
=== 'action'">
  <span>
 <a>Invite 一 {{ record.name }}</a>
 <a-divider
type="vertical" />
 <a>Delete</a>
 <a-divider
type="vertical" />
 <a
class="ant-dropdown-link">
 More actions
 <down-outlined />
      </a>
 </span>
 </template>
 </template>
 </a-table>
</template>
<script
lang="ts">
import {
SmileOutlined, DownOutlined } from '@ant-design/icons-vue';
import {
defineComponent } from 'vue';
const columns =
[
 {
 name: 'Name',
 dataIndex: 'name',
 key: 'name',
 },
 {
 title: 'Age',
 dataIndex: 'age',
 key: 'age',
 },
 {
 title: 'Address',
 dataIndex: 'address',
 key: 'address',
 },
 {
 title: 'Tags',
 key: 'tags',
 dataIndex: 'tags',
 },
 {
 title: 'Action',
 key: 'action',
 },
];
const data = [
 {
 key: '1',
 name: 'John Brown',
 age: 32,
 address: 'New York No. 1 Lake Park',
 tags: ['nice', 'developer'],
 },
 {
 key: '2',
 name: 'Jim Green',
 age: 42,
 address: 'London No. 1 Lake Park',
 tags: ['loser'],
 },
 {
 key: '3',
 name: 'Joe Black',
 age: 32,
 address: 'Sidney No. 1 Lake Park',
 tags: ['cool', 'teacher'],
 },
];
export default
defineComponent({
 components: {
 SmileOutlined,
 DownOutlined,
 },
 setup() {
 return {
 data,
 columns,
 };
 },
});
</script>

五四青年,千山万水,路在当下,一步一步走向属于自己热爱的那块土地!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2023-05-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 希里安 微信公众号,前往查看

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

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档