用js html css vue elementui ajxo写一个前端页面 页面是一个足球员表 表内包含序号 姓名 职业化起始时间 年龄 场均进球数 年薪 球队 以及操作 操作包含修改 删除 点击修改弹出一个框 里面有球队 下拉框选择 年薪框 手动输入 一个保存按钮
时间: 2024-04-17 22:23:04 浏览: 106
好的,我可以帮你实现一个基于Vue.js和Element UI的前端页面来展示足球员表,并包含修改和删除功能。下面是示例代码:
首先,需要引入Vue.js、Element UI和axios库:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Football Players</title>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
</head>
<body>
<div id="app">
<el-table :data="players" style="width: 100%">
<el-table-column prop="id" label="序号"></el-table-column>
<el-table-column prop="name" label="姓名"></el-table-column>
<el-table-column prop="startYear" label="职业化起始时间"></el-table-column>
<el-table-column prop="age" label="年龄"></el-table-column>
<el-table-column prop="avgGoals" label="场均进球数"></el-table-column>
<el-table-column prop="salary" label="年薪"></el-table-column>
<el-table-column prop="team" label="球队"></el-table-column>
<el-table-column label="操作">
<template slot-scope="scope">
<el-button size="mini" @click="showEditDialog(scope.row)">修改</el-button>
<el-button size="mini" type="danger" @click="deletePlayer(scope.row)">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog :visible.sync="editDialogVisible" title="修改球员信息" @close="resetEditForm">
<el-form :model="editForm" ref="editForm" :rules="editFormRules" label-width="80px">
<el-form-item label="球队" prop="team">
<el-select v-model="editForm.team" placeholder="请选择球队">
<el-option label="A队" value="A队"></el-option>
<el-option label="B队" value="B队"></el-option>
<el-option label="C队" value="C队"></el-option>
</el-select>
</el-form-item>
<el-form-item label="年薪" prop="salary">
<el-input v-model.number="editForm.salary"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="savePlayer">保存</el-button>
</div>
</el-dialog>
</div>
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
</body>
</html>
```
接下来,我们需要编写Vue实例和相关的方法:
```js
new Vue({
el: '#app',
data() {
return {
players: [], // 存放足球员数据的数组
editDialogVisible: false, // 控制修改对话框的显示与隐藏
editForm: { team: '', salary: '' }, // 修改表单数据
editFormRules: { // 修改表单的验证规则
team: [
{ required: true, message: '请选择球队', trigger: 'change' }
],
salary: [
{ required: true, message: '请输入年薪', trigger: 'blur' }
]
}
};
},
mounted() {
this.fetchPlayers(); // 页面加载时获取足球员数据
},
methods: {
fetchPlayers() {
// 使用axios发送GET请求获取足球员数据
axios.get('/api/players')
.then(response => {
this.players = response.data;
})
.catch(error => {
console.error(error);
});
},
showEditDialog(player) {
// 显示修改对话框,并将选中的球员数据填充到表单中
this.editForm = { team: player.team, salary: player.salary };
this.editDialogVisible = true;
},
resetEditForm() {
// 重置修改表单
this.$refs.editForm.resetFields();
},
savePlayer() {
// 使用axios发送POST请求保存修改后的球员数据
this.$refs.editForm.validate(valid => {
if (valid) {
axios.post('/api/savePlayer', this.editForm)
.then(response => {
this.editDialogVisible = false;
this.fetchPlayers(); // 保存成功后刷新足球员数据
})
.catch(error => {
console.error(error);
});
}
});
},
deletePlayer(player) {
// 使用axios发送DELETE请求删除选中的球员数据
axios.delete(`/api/deletePlayer/${player.id}`)
.then(response => {
this.fetchPlayers(); // 删除成功后刷新足球员数据
})
.catch(error => {
console.error(error);
});
}
}
});
```
以上代码中,我们通过axios库发送HTTP请求来获取、保存和删除足球员数据。你可以根据实际情况修改这些请求的URL和逻辑。
注意:这只是一个简单的示例,实际项目中可能需要更多的处理和业务逻辑。希望对你有所帮助!
阅读全文