Vue用戶管理的增刪改查功能詳解
1、向api請求發(fā)出查詢用戶列表數(shù)據(jù),渲染表單數(shù)據(jù)
1、定義查詢參數(shù)列表對象queryInfo:{}
queryInfo: { query: '', // 查詢 pagenum: 1, // 當(dāng)前頁數(shù) pagesize: 2,// 當(dāng)前每頁顯示多少條數(shù)據(jù) }
2、定義userList:[]
數(shù)組,和total
整數(shù),來存放查詢后的用戶數(shù)據(jù)
userList: [], total: 0,
3、定義getUserList()函數(shù),通過向api發(fā)出get請求獲取用戶數(shù)據(jù),返回{ data: res }
結(jié)果,通過res.meta.status
判斷是否查詢成功,成功之后,把res.data.users
用戶數(shù)據(jù)傳給userList:[]
數(shù)組,把res.data.total
查詢總數(shù)傳給total
整數(shù)
async getUserList() { const { data: res } = await this.$http.get('users', { params: this.queryInfo, }) if (res.meta.status !== 200) return this.$message.error('數(shù)據(jù)獲取失敗') this.userList = res.data.users this.total = res.data.total console.log(res) },
4、注意,在html渲染前就要啟動getUserList()
方法
created() {this.getUserList()}
5、最后,通過:data="userList"
動態(tài)綁定數(shù)據(jù)源,prop="username"
綁定數(shù)據(jù)中的字段名,即可渲染table
表單
<el-table :data="userList" border stripe> <el-table-column type="index"></el-table-column> <el-tableColumn label="姓名" prop="username"></el-tableColumn> <el-tableColumn label="郵箱" prop="email"></el-tableColumn> <el-tableColumn label="電話" prop="mobile"></el-tableColumn> <el-tableColumn label="角色" prop="role_name"></el-tableColumn> <el-tableColumn label="狀態(tài)"> </el-tableColumn> <el-tableColumn label="操作" width="180px"> </el-tableColumn> </el-table>
2、通過v-model綁定查詢數(shù)據(jù),進(jìn)行表單信息查詢
1、在input
輸入框中通過v-model
綁定已經(jīng)定義好的queryInfo
對象的query
屬性,用來傳參
<el-input placeholder="請輸入內(nèi)容" v-model="queryInfo.query"></el-input>
2、在button
按鈕中通過@click
綁定已經(jīng)定義好的getUserList
方法,來查詢用戶信息
<el-button slot="append" icon="el-icon-search" @click="getUserList" ></el-button>
3、在input
輸入框中添加clearable
屬性,用來清除查詢數(shù)據(jù),再通過@clear="getUserList"
,清除數(shù)據(jù)之后,綁定getUserList
方法重新查詢數(shù)據(jù)
<el-input placeholder="請輸入內(nèi)容" v-model="queryInfo.query" clearable @clear="getUserList">
3、通過改變布爾值,來控制打開取消添加用戶對話框
1、定義addDialogVisible
布爾值來控制添加用戶對話框的顯示與隱藏,默認(rèn)為false,不打開;true為打開
addDialogVisible: false
2、在button
按鈕中綁定@click="addDialogVisible = true"
,把addDialogVisible
變?yōu)閠rue,打開添加用戶對話框
<el-button type="primary" @click="addDialogVisible = true" >添加用戶</el-button >
3、在dialog
對話框中通過:visible.sync="addDialogVisible"
監(jiān)聽addDialogVisible
布爾值是否為true,打開添加用戶對話框,為false,關(guān)閉用戶對話框
<el-dialog title="添加用戶" :visible.sync="addDialogVisible" width="50%"></el-dialog>
4、在dialog
對話框中的取消按鈕中綁定@click="addDialogVisible = false"
,關(guān)閉用戶對話框
<el-button @click="addDialogVisible = false">取 消</el-button>
4、通過動態(tài)綁定current-page和page-size,再綁定觸發(fā)事件,查詢指定多少條數(shù)據(jù),進(jìn)行數(shù)據(jù)分頁
1、通過:current-page="queryInfo.pagenum"
、:page-size="queryInfo.pagesize"
和:total="total"
動態(tài)綁定current-page頁條數(shù)、page-size頁碼和total查詢頁數(shù)
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="queryInfo.pagenum" :page-sizes="[1, 5, 10, 20]" :page-size="queryInfo.pagesize" layout="total, sizes, prev, pager, next, jumper" :total="total" > </el-pagination>
2、定義handleSizeChange(newSize)
和handleCurrentChange(newPage)
方法來監(jiān)聽頁條數(shù)和頁碼
// 監(jiān)聽pageSize改變的事件 handleSizeChange(newSize) { this.queryInfo.pagesize = newSize this.getUserList() }, // 監(jiān)聽page頁碼值改變的事件 handleCurrentChange(newPage) { this.queryInfo.pagenum = newPage this.getUserList() },
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
vue?demi支持sfc方式的vue2vue3通用庫開發(fā)詳解
這篇文章主要為大家介紹了vue?demi支持sfc方式的vue2vue3通用庫開發(fā)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08vue使用ECharts實(shí)現(xiàn)折線圖和餅圖
這篇文章主要為大家詳細(xì)介紹了vue使用ECharts實(shí)現(xiàn)折線圖和餅圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09Vue頁面手動刷新,實(shí)現(xiàn)導(dǎo)航欄激活項(xiàng)還原到初始狀態(tài)
這篇文章主要介紹了Vue頁面手動刷新,實(shí)現(xiàn)導(dǎo)航欄激活項(xiàng)還原到初始狀態(tài),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08詳解Vue返回值動態(tài)生成表單及提交數(shù)據(jù)的辦法
這篇文章主要為大家介紹了Vue返回值動態(tài)生成表單及提交數(shù)據(jù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12詳解vue2.0 不同屏幕適配及px與rem轉(zhuǎn)換問題
這篇文章主要介紹了詳解vue2.0 不同屏幕適配及px與rem轉(zhuǎn)換問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02Vue服務(wù)端渲染實(shí)踐之Web應(yīng)用首屏耗時最優(yōu)化方案
這篇文章主要介紹了Vue服務(wù)端渲染實(shí)踐之Web應(yīng)用首屏耗時最優(yōu)化方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03Element-ui Image圖片按需引入大圖預(yù)覽
這篇文章主要為大家介紹了Element-ui Image圖片按需引入大圖預(yù)覽實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07