用js html css vue elementui ajxo写一个前端页面 页面是一个足球员表 表内包含序号 姓名 职业化起始时间 年龄 场均进球数 年薪 球队 以及操作 操作包含修改 删除 点击修改弹出一个框 里面有球队 下拉框选择 年薪框 手动输入 一个保存按钮

时间: 2024-04-17 09:23:04 浏览: 17
好的,我可以帮你实现一个基于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和逻辑。 注意:这只是一个简单的示例,实际项目中可能需要更多的处理和业务逻辑。希望对你有所帮助!

最新推荐

recommend-type

解决vue多个路由共用一个页面的问题

下面小编就为大家分享一篇解决vue多个路由共用一个页面的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

使用Vue组件实现一个简单弹窗效果

主要介绍了使用Vue组件实现一个简单弹窗效果,本文主要内容会涉及到弹窗遮罩的实现, slot 插槽的使用方式,props 、 $emit 传参,具体组件代码也传上去了。需要的朋友可以参考下
recommend-type

vue写h5页面的方法总结

下面就是小编带给大家的如何用vue写h5页面方法操作,希望能够给你们带来一定的帮助,谢谢大家的观看。 1、当拿到设计师给的UI设计图,前端的首要任务就是布局和样式,相信这对于大部分前端工程师来说已经不是什么...
recommend-type

解决vue项目中某一页面不想引用公共组件app.vue的问题

主要介绍了解决vue项目中某一页面不想引用公共组件app.vue的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

vue中阻止click事件冒泡,防止触发另一个事件的方法

下面小编就为大家分享一篇vue中阻止click事件冒泡,防止触发另一个事件的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

list根据id查询pid 然后依次获取到所有的子节点数据

可以使用递归的方式来实现根据id查询pid并获取所有子节点数据。具体实现可以参考以下代码: ``` def get_children_nodes(nodes, parent_id): children = [] for node in nodes: if node['pid'] == parent_id: node['children'] = get_children_nodes(nodes, node['id']) children.append(node) return children # 测试数
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。