当前位置: 首页 > news >正文

前端获取接口材料流程

、组件初始化阶段

1、初始化响应式状态对象:tablebody。

2、核心状态:

  • 表格高度 ( tableHeight )

  • 数据加载状态 ( tableLoading )

  • 表格数据 ( tableList )

  • 总条数 ( total )

  • 分页参数 ( params ):设置默认分页参数。(第1页,每页50条)

const tableBody = reactive({tableHeight: 600,showTable: true,tableLoading: false,tableList: [],total: 0,params: {pageNum: 1,pageSize: 50,  // 默认每页50条},
});

二、表单和表格配置

1、表单字段:

通过 getFormFields 获取表单配置:

const formDataModel = reactive({});
const formData = computed(() => ({showButtons: false,confirmText: '查询',model: formDataModel,  // 绑定表单数据模型fields: getFormFields(),  // 获取表单字段配置
}));

getFormFields() 返回的表单配置:

[{ prop: 'dw', type: 'input', placeholder: '单位' },{ prop: 'yd', type: 'datePicker', placeholder: '月度' }
]

2、表格列

通过 getTableColumn 获取表格列配置:

const tableColumn = getTableColumn();

三、组件挂载自动加载数据

onMounted(init);  // 组件挂载时触发数据加载
const init = () => {getTableList();
};

四、核心数据获取方法

const getTableList = async () => {try {tableBody.tableLoading = true;// 合并分页参数和表单参数const params = {...tableBody.params,...formDataModel};const res: any = await getInfoApi(params);if (res.status === 200) {tableBody.tableList = res.data.records || [];tableBody.total = res.data.total ? Number(res.data.total) : 0;} else {ElMessage.warning(res.message);}} finally {tableBody.tableLoading = false;}
};

注:其中 res.status 的 status 为状态名,

不同接口可能会有不同的状态名(如code等),所以需要根据不同情况进行修改 。

1、参数合并策略

const params = {...tableBody.params,  // 分页参数 { pageNum: 1, pageSize: 50 }...formDataModel      // 表单参数 { dw: '单位A', yd: ['2023-01', '2023-06'] }
};

合并后的请求参数示例:

{"pageNum": 1,"pageSize": 50,"dw": "单位A","yd": ["2023-01", "2023-06"]
}

2、多种解构方式 

功能/解构方式直接解构:data.rows对象访问:res.data.rows
API调用

const { data, code, message }

= await pageApi(params);

const res: any

= await getInfoApi(params);

状态码检查if (code === 200) if (res.status === 200) 
数据赋值tableBody.tableList = data.rows;tableBody.tableList = res.data.records;

3、响应数据处理

1.直接赋值

特点:保持原始结构 + 分页信息。

其中records要与接口返回的数组名一致。

如若是"list": [...],那么就得是res.data.list。

tableBody.tableList = res.data.records || [];  // 表格数据
tableBody.total = Number(res.data.total) || 0; // 总数

假设后端返回数据结构: 

{"status": 200,"data": {"records": [...],  // 当前页数据"total": 1250      // 总记录数}
}

2.字段映射

特点:必须转换 + 空安全

orgTypeList.value = (data as OrgItem[]).map(item => ({label: item.name,value: item.id,

 转换过程:

// 原始数据
[{ name: "米哈油", id: "org-001" }]
// 转换后(丢弃id,保留label/value)
[{ label: "米哈油", value: "org-001" }]

为什么一定要转换为 { label, value } 格式?

  1. 适配 UI 组件的数据格式
  2. 统一处理逻辑
  3. 减少不必要的数据处理
  4. 清晰分离显示值与存储值

在少数简单场景下可以直接使用原始数据:

  • 纯字符串/数字的简单列表
  • 组件明确支持自定义字段映射

五、用户交互触发点

1、查询按钮

const submitHandler = () => {console.log('Form Data Model:', formDataModel);init();  // 触发数据加载
};

2、数据统计按钮

const dataStatistics = () => {init();  // 同样触发数据加载
};

3、表格刷新/分页

注:该代码所在文件位置:index.vue。



六、动态列显示

按需求选择哪些列显示,哪些列不显示。

1. 表格操作组件引用index


2. 动态列计算属性hooks

const realTableColumn = computed(() =>tableOperateRef.value?.realTableColumn ?? []
);

3. 表格组件绑定index

http://www.jsqmd.com/news/5824/

相关文章:

  • Lucene 8.7.0 版本中dvd、dvm文件详解 - 教程
  • APEX实战第5篇:利用APEX程序直观体验向量近似检索能力
  • 告别复制粘贴!Chat2File-DeepSeek 让 DeepSeek 对话成果直接变“成品” - 指南
  • 详解 PHP 中的命名空间 Namespace 与 PSR4 自动加载
  • 构建易受攻击的AWS DevOps环境:CloudGoat场景实践
  • 摩尔线程88天过会,过会当天提交注册:看懂这3个关键,才算懂国产GPU的“生存逻辑”
  • 2025最新四面刨厂家权威推荐排行榜:四面刨厂家实力品牌测评,含定制,高速,重型四面刨优选指南
  • Java之泛型使用教程
  • 单调栈优化DP [ROI 2018] Decryption
  • 上海住宅新规调整,背后的野心可大了
  • 手工调整pip whl 文件内容
  • 魔兽争霸3冰封王座安装包下载
  • vscode tunnel远程隧道访问 正确重启方法
  • AI两周手搓一个进度管理神器,快来安排你的国庆假期吧
  • MX 练石 2025 NOIP #10
  • 读人形机器人26人类情感
  • [转]Power Apps component framework (PCF) 手把手入门实例
  • 修复lazarus/fpc在windows不支持中文(三)总结
  • 修复lazarus/fpc在windows不支持中文及空格目录(三)总结
  • 岐金兰AI元人文构想的全面系统研究——声明ai研究
  • Amazon Q Developer扩展安全漏洞分析与修复指南
  • 价值共生的语法革命:从“悬荡悟空”到“元人文构境”
  • 2025工业冷水机、风冷式、螺杆式、小型、水冷式、实验室等多类型冷水机品牌排行榜,帮企业选靠谱设备
  • FreeFileSync 本地文件同步及开机自启
  • 2025登车桥生产厂家最新推荐榜单:聚焦月台登车桥、装卸登车桥、卸货平台登车桥、10吨登车桥产品,精选五家实力企业助力采购
  • 2025 年最新留学中介机构 TOP3 权威推荐排行榜,深度解析留学机构服务特色与核心优势
  • 2025 年最新权威推荐!化妆品代工公司 TOP3 排行榜:OEM/ODM/ 一站式服务优质企业精选指南
  • 2025年中国超声波清洗机源头厂家最新权威推荐排行榜:聚焦核心优势精选超声波清洗机品牌助力企业选购
  • 2025 年传感器品牌最新权威推荐排行榜:聚焦磁致伸缩等多类型传感器,传感器厂家选购指南!
  • 2025 年杭州画室推荐:之江画室 —— 央清班十年口碑加持,设计学录取亮眼的专业美术培训之选