vue3+node.js+mysql+ant design实现表格的查询功能
在Vue 3 + Node.js + MySQL环境下,使用Ant Design实现表格查询功能的基本步骤如下:
- 设计前端界面,使用Ant Design的
<a-table>
组件展示数据。 - 使用Vue 3的
<script setup>
语法简化组件代码。 - 创建Node.js服务器,并设计API接口用于查询MySQL数据库。
- 在Vue组件中使用
axios
或其他HTTP客户端发送HTTP请求到Node.js服务器。 - 监听查询条件的变化,并在变化时更新表格数据。
以下是实现查询功能的简要代码示例:
Vue 3组件 (MyTable.vue):
<template>
<div>
<a-input v-model="searchText" placeholder="请输入查询关键词" />
<a-table :columns="columns" :dataSource="data" />
</div>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import axios from 'axios';
const searchText = ref('');
const columns = [
{
title: 'Name',
dataIndex: 'name',
},
// 其他列配置...
];
const data = ref([]);
onMounted(() => {
searchText.value = ''; // 初始化查询条件
});
watch(searchText, async (newValue) => {
const response = await axios.get('/api/data', { params: { search: newValue } });
data.value = response.data; // 假设API返回的数据是表格数据
});
</script>
Node.js服务器 (server.js):
const express = require('express');
const mysql = require('mysql');
const app = express();
const connection = mysql.createConnection({
// MySQL连接配置
});
app.get('/api/data', (req, res) => {
const search = req.query.search || '';
connection.query('SELECT * FROM your_table WHERE your_column LIKE ?', [`%${search}%`], (error, results) => {
if (error) throw error;
res.send(results);
});
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
确保你已经安装了必要的依赖,例如Ant Design和axios,并且MySQL数据库中有相应的表和字段。以上代码仅为示例,根据实际情况可能需要进行调整。
评论已关闭