如何没有data: [ { name: '张三', age: 18 }, { name: '李四', age: 20 }, { name: '王五', age: 22 }, ],这些值呢
时间: 2024-04-10 15:26:41 浏览: 92
如果没有固定的数据,你可以通过发送请求来获取表格数据。在 `handleSearch` 方法中,你可以使用异步请求(例如使用 `axios` 库)从后端获取数据,并将获取到的数据赋值给 `data` 属性。以下是修改后的代码示例:
```vue
<template>
<div>
<a-row>
<a-col :span="6">
<a-input v-model="searchText" placeholder="请输入关键字" />
</a-col>
<a-col :span="6">
<a-button type="primary" @click="handleSearch">搜索</a-button>
</a-col>
</a-row>
<a-table :columns="columns" :data-source="filteredData"></a-table>
</div>
</template>
<script>
import axios from 'axios';
export default {
data() {
return {
searchText: '',
data: [],
columns: [
{
title: '姓名',
dataIndex: 'name',
key: 'name',
},
{
title: '年龄',
dataIndex: 'age',
key: 'age',
},
],
};
},
computed: {
filteredData() {
if (this.searchText === '') {
return this.data;
}
return this.data.filter((item) => {
return item.name.includes(this.searchText);
});
},
},
methods: {
async handleSearch() {
try {
const response = await axios.get('your-api-url');
this.data = response.data;
} catch (error) {
console.error(error);
}
},
},
};
</script>
```
在这个示例中,我们使用了 `axios` 库来发送异步请求。在 `handleSearch` 方法中,我们发送请求到指定的 API URL,并将获取到的数据赋值给 `data` 属性。然后,`filteredData` 计算属性会根据输入的关键字对数据进行过滤,并将过滤后的结果传递给 `a-table` 组件进行展示。
请确保替换 `'your-api-url'` 为你实际的后端 API 地址。另外,请根据你的后端返回的数据格式进行相应的处理。
希望这个示例对你有帮助!
阅读全文