axios.post("/teacher/findStudents", parm).then(resp => { //处理响应结果 if (resp.data.flag) { //如果查到了结果 //展示表格数据 this.dataList = resp.data.data.rows; //展示分页条数据 this.pagination.total = resp.data.data.total; } else { this.$message.error(resp, data.message); } }) }, // 重置表单 resetForm() { this.formData = {}; }, // 弹出添加窗口 handleCreate() { this.resetForm(); this..dialogFormVisible == true; },
时间: 2023-06-23 18:09:12 浏览: 100
这段代码使用了axios库向服务器发送POST请求,请求的URL是"/teacher/findStudents",请求参数是parm。在成功接收到响应后,如果响应的flag为true,则将响应数据中的rows赋值给this.dataList,将响应数据中的total赋值给this.pagination.total;如果flag为false,则弹出一个错误提示框。resetForm()函数用于重置表单数据,handleCreate()函数用于弹出添加窗口。但是这段代码中有一个错别字,将this..dialogFormVisible改为this.dialogFormVisible即可。
相关问题
axios.post("/day06/opus/list",param) .then(response=>{ let resp = response.data; this.pageInfo = resp.data; }) //如果放外面先执行 this.num = this.pageInfo.pageNum; 和axios.post("/day06/opus/list",param) .then(response=>{ let resp = response.data; this.pageInfo = resp.data; this.num = this.pageInfo.pageNum; }) 两个代码的区别
这两段代码的区别在于变量 `this.num` 的赋值位置不同。
第一段代码将 `this.num` 的赋值放在了 `axios.post` 的后面,这意味着在 `axios.post` 请求完成并返回数据之前,`this.num` 将被赋值为 `undefined`。而在 `.then` 回调函数中,`this.num` 又被重新赋值为 `this.pageInfo.pageNum`。
第二段代码将 `this.num` 的赋值放在了 `.then` 回调函数中,这意味着只有在 `axios.post` 请求完成并返回数据后,`this.num` 才会被赋值为 `this.pageInfo.pageNum`。
因此,第二段代码更为合适,可以确保在获取到数据后再进行变量赋值,避免了变量值为 `undefined` 的情况。
<script> let app = new Vue({ el:"#app", data:{ //默认页码第一页 num:1, pageInfo:{}, name:"" }, methods:{ queryList(pageNum){ let param = new URLSearchParams(); param.append("pageNum",pageNum); axios.post("/day0530/company/list",param) .then(response=>{ let resp = response.data; this.name = resp.data.name; this.pageInfo = resp.data.pageInfo; //跳转到第几页的页码 this.num = resp.data.pageInfo.pageNum; }) }, add(){ location.href = "/day0530/company/add.jsp" }, remove(id){ axios.get("/day0530/company/remove?id="+id) .then(response=>{ let resp = response.data; if (resp.code===200){ alert("删除成功"); this.queryList(1); }else { alert(resp.msg); } }) }, updatePage(id){ axios.get("/day0530/company/updatePage?id="+id) .then(response=>{ let resp = response.data; if (resp.code===30001){ alert(resp.msg); }else { location.href = "/day0530/company/updatePage?id="+id; } }) }, search(name){ axios.get("/day0530/company/search?name="+name) .then(response=>{ let resp = response.data; if (resp.code===30002){ alert(resp.msg); }else { location.href = "/day0530/company/search?name="+name; } }) } }, created(){ this.queryList(1); } }) </script>
这段代码定义了一个Vue实例,将其挂载到`id`为`app`的元素上。该实例中包含了一些数据属性,如`num`、`pageInfo`和`name`,以及一些方法,如`queryList()`、`add()`、`remove()`、`updatePage()`和`search()`。其中,`queryList()`方法是用来查询分页数据的,`add()`方法是用来跳转到新增页面的,`remove()`方法是用来删除数据的,`updatePage()`方法是用来跳转到修改页面的,`search()`方法是用来根据关键字搜索数据的。
在Vue实例的`created()`生命周期函数中,调用了`queryList()`方法,查询了第一页的数据,并将查询结果赋值给了Vue实例的`num`、`pageInfo`和`name`属性。此后,当用户进行分页、删除、修改或搜索操作时,分别会触发对应的方法,来更新Vue实例中的数据属性,或者跳转到其他页面。
总体来说,这段代码实现了一个简单的分页查询功能,并提供了一些常见的操作,如新增、删除、修改和搜索。
阅读全文