<p>&quot;<template>\n\t&lt;el-table :data=&quot;tabData&quot; style=&quot;width: 100%&quot; height=&quot;600&quot;&gt;\n\t&lt;el-table-column fixed prop=&quot;sid&quot; label=&quot;学生编号&quot; width=&quot;200&quot; /&gt;\n\t&lt;el-table-column prop=&quot;sname&quot; label=&quot;学生名&quot; width=&quot;200&quot; /&gt;\n\t&lt;el-table-column label=&quot;分数&quot; width=&quot;200&quot;&gt;\n\t\t&lt;template #default=&quot;scope&quot;&gt;\n\t\t\t&lt;el-input v-model=&quot;scope.row.score&quot; size=&quot;mini&quot; type=&quot;number&quot; /&gt;\n\t\t</template>\n\t</el-table-column>\n\t&lt;el-table-column label=&quot;操作&quot; width=&quot;320&quot;&gt;\n\t\t&lt;template #default=&quot;scope&quot;&gt;\n\t\t\t&lt;el-button size=&quot;small&quot; type=&quot;success&quot; @click=&quot;saveScore(scope.row)&quot;&gt;保存</el-button>\n\t\t</template>\n\t</el-table-column>\n</el-table>\n</template>\n\n&lt;script lang=&quot;ts&quot; setup&gt;\nimport axios from 'axios';\nimport { ref } from 'vue';\nimport { useRouter } from 'vue-router'\nconst router = useRouter()\n\ntype studentScore = {\n  sid: number;\n  sname: string;\n  score: number;\n}\nlet tabData = ref([\n{ cid: 1, sname: '学生1', score: 0 },\n  // 其他学生数据...\n]);\nfunction getScoreInfo() {\n  axios({\n    method: 'POST',\n    url: '/api/selectClassScoreServlet',\n    data: { classId: localStorage.getItem('classId') }\n  }).then(function (result) {\n    tabData.value = result.data.data;\n  });\n}\ngetScoreInfo();\n\nconst saveScore = (row: studentScore) =&gt; {\n  axios({\n    method: 'POST',\n    url: '/api/saveScoreServlet',\n    data: { sid: row.sid, score: row.score }\n  }).then(function (result) {\n    // 保存成功后的处理逻辑\n  });\n}\n\n\n\n\n</script>\n<style scoped></style>\n要如何修改可以实现接受后端传输的学生信息\n\n要实现接收后端传输的学生信息,需要对getScoreInfo函数进行修改。在axios请求的回调函数中,将后端返回的数据赋值给tabData.value,这样就可以在模板中使用后端传输的学生信息了。\n\n修改后的代码如下:\n\n<code>javascript\nfunction getScoreInfo() {\n  axios({\n    method: 'POST',\n    url: '/api/selectClassScoreServlet',\n    data: { classId: localStorage.getItem('classId') }\n  }).then(function (result) {\n    tabData.value = result.data.data;\n  });\n}\n</code>\n\n在这个例子中,后端返回的数据应该是一个数组,每个元素表示一个学生的信息。\n\n另外,你还需要在模板中使用tabData来渲染学生信息表格。现在的模板已经可以正确显示学生信息了。\n</p>
Vue.js 中使用 Element UI 表格展示学生信息并实现分数修改功能

原文地址: https://www.cveoy.top/t/topic/qxX0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录