日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

Ant Design Vue list表格组件

發布時間:2024/9/27 vue 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ant Design Vue list表格组件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

            • 1.案例部分代碼
            • 2. 簡述
            • 3.案例代碼

1.案例部分代碼
<a-table:columns="columns":row-key="record => record.id":data-source="ebooks":pagination="pagination":loading="loading"@change="handleTableChange"><template #cover="{ text: cover }"><img v-if="cover" :src="cover" alt="avatar"/></template><template v-slot:action="{ text, record }"><a-space size="small"><a-button type="primary">編輯</a-button><a-button type="danger">刪除</a-button></a-space></template></a-table>
2. 簡述
1.:columns 定義列數 2.row-key 定義key 一般采用id不重復唯一即可 3.data-source 數據來源,為后端返回的數據列表list 4.:pagination 分頁標簽,請求后端查詢攜帶當前頁和每頁顯示的條數2個參數,后端需要返回總共多少條數total,前端接收到total后,自動實現分頁 5.:loading 加載效果,默認不顯示,請求后端查詢過程中顯示加載效果,后端有返回就關閉加載效果。返回分為成功和 失敗2種 6.@change="handleTableChange 點擊左下角,分頁參數,此事件就會監聽到,當前是第幾頁page,每頁顯示多少條size,這2個參數,然后請求后端查詢接口,完成分頁效果。注:關于具體每條顯示多少條這里默認是固定的,可以是動態的,例如:頁面可以顯示當前頁可以可顯示的條數,傳遞參數,請求后端效果是一樣的。后期可以優化。
3.案例代碼
<template><a-layout><a-layout-content:style="{ background: '#fff', padding: '24px', margin: 0, minHeight: '280px' }"><a-table:columns="columns":row-key="record => record.id":data-source="ebooks":pagination="pagination":loading="loading"@change="handleTableChange"><template #cover="{ text: cover }"><img v-if="cover" :src="cover" alt="avatar"/></template><template v-slot:action="{ text, record }"><a-space size="small"><a-button type="primary">編輯</a-button><a-button type="danger">刪除</a-button></a-space></template></a-table></a-layout-content></a-layout> </template><script lang="ts"> import {defineComponent, onMounted, ref} from 'vue' import axios from 'axios'export default defineComponent({name: 'AdminEbook',setup() {//定義響應式變量const ebooks = ref()//定義初始化分頁參數const pagination = ref({//當前頁current: 1,//每頁的分頁條數pageSize: 4,total: 0})//初始化加載效果無const loading = ref(false)//表格const columns = [{title: '封面',dataIndex: 'cover',//特殊渲染slots: {customRender: 'cover'}},{title: '名稱',dataIndex: 'name'},{title: '分類',dataIndex: 'category'},{title: '文檔數',dataIndex: 'docCount'},{title: '閱讀數',dataIndex: 'viewCount'},{title: '點贊數',dataIndex: 'voteCount'},{title: 'Action',key: 'action',slots: {customRender: 'action'}}];/*** 數據查詢*/const handleQuery = (params: any) => {console.log("當前頁:" + params.page);console.log("每頁的分頁條數:" + params.size);loading.value = true;axios.get("/ebook/list", {params: {page: params.page,size: params.size}}).then((response) => {loading.value = false;const data = response.data;ebooks.value = data.content.list;// 重置分頁按鈕pagination.value.current = params.page;//總條數pagination.value.total = data.content.total;console.log("后端返回查詢總條數:" + data.content.total);});};/*** 表格點擊頁碼時觸發*/const handleTableChange = (pagination: any) => {// console.log("當前頁:" + pagination.current);// console.log("每頁的分頁條數:" + pagination.pageSize);handleQuery({page: pagination.current,size: pagination.pageSize});};onMounted(() => {handleQuery({page: 1,size: pagination.value.pageSize});})return {ebooks,pagination,loading,columns,handleTableChange}} }) </script> <style scoped> img {width: 50px;height: 50px; } </style>

總結

以上是生活随笔為你收集整理的Ant Design Vue list表格组件的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。