可以给我展示异步请求的代码吗
时间: 2024-02-12 20:02:36 浏览: 109
当用户打开新增用户页面时,可以通过异步请求获取部门信息列表,以下是一个简单的示例代码:
```
<template>
<div>
<el-form :model="user">
<el-form-item label="用户名">
<el-input v-model="user.username"></el-input>
</el-form-item>
<el-form-item label="选择部门">
<el-tree
:data="departmentTree"
show-checkbox
node-key="id"
:props="{
label: 'name',
children: 'children'
}"
@check-change="handleDepartmentCheckChange"
></el-tree>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="handleSubmit">提交</el-button>
</el-form-item>
</el-form>
</div>
</template>
<script>
import axios from 'axios'
export default {
data() {
return {
user: {
username: '',
deptId: ''
},
departmentTree: []
}
},
created() {
this.loadDepartmentTree()
},
methods: {
loadDepartmentTree() {
axios.get('/api/departments').then((response) => {
this.departmentTree = response.data
})
},
handleDepartmentCheckChange(data, checkedNodes) {
this.user.deptId = checkedNodes[0].id
},
handleSubmit() {
// 提交表单数据到后端接口
}
}
}
</script>
```
在上面的代码中,我们通过 axios 发起了一个 GET 请求,获取部门信息列表,然后将返回的数据赋值给了 `departmentTree` 变量,接着使用 Element UI 的 Tree 组件展示了部门信息的树形结构。当用户选择部门时,会触发 `handleDepartmentCheckChange` 方法,将选择的部门的 ID 存储到了 `user.deptId` 变量中,当用户提交表单数据时,可以将 `user` 对象中的数据提交到后端接口进行保存。
阅读全文