1. Ant Design Vue When a large amount of data needs to be displayed, we usually present it in the form of a report. According to intuitive habits, we must use Therefore, we need to use 1. Official website address Official website address: 2. How to useWe first remodeled the e-book management page and adjusted the layout. The sample code is as follows: <template> <a-layout class="layout"> <a-layout-content :style="{ background: '#fff', padding: '24px', minHeight: '280px' }"> <div class="about"> <h1>E-book management page</h1> </div> </a-layout-content> </a-layout> </template> The effect is as follows: 3. Display the e-book tableThings to do:
The sample code is as follows: <template> <a-layout class="layout"> <a-layout-content :style="{ background: '#fff', padding: '24px', minHeight: '280px' }"> <a-table :columns="columns" :data-source="ebooks1" :pagination="pagination" :loading="loading" > <template #cover="{ text: cover }"> <img v-if="cover" :src="cover" alt="avatar"/> </template> <template #name="{ text: name }"> <a>{{ text }}</a> </template> <template #customTitle> <span> <smile-outlined/> Name </span> </template> <template #action="{ record }"> <span> <a-space size="small"> <a-button type="primary" @click="edit(record)"> Edit</a-button> <a-button type="danger"> Delete</a-button> </a-space> </span> </template> </a-table> </a-layout-content> </a-layout> </template> <script lang="ts"> import {SmileOutlined, DownOutlined} from '@ant-design/icons-vue'; import {defineComponent, onMounted, reactive, ref, toRef} from 'vue'; import axios from 'axios'; export default defineComponent({ name: 'AdminEbook', setup() { const pagination = { onChange: (page: number) => { console.log(page); }, pageSize: 3, }; const loading = ref(false); const columns = [ { title: 'Cover', dataIndex: 'cover', slots: {customRender: 'cover'} }, { title: 'Name', dataIndex: 'name' }, { title: 'Classification 1', dataIndex: 'category1Id', key: 'category1Id', }, { title: 'Classification 2', dataIndex: 'category2Id', key: 'category2Id', }, { title: 'Number of documents', dataIndex: 'docCount' }, { title: 'Reading Number', dataIndex: 'viewCount' }, { title: 'Number of Likes', dataIndex: 'voteCount' }, { title: 'Action', key: 'action', slots: {customRender: 'action'} } ]; //Use ref for data binding const ebooks = ref(); // Use reactive data binding const ebooks1 = reactive({books: []}) onMounted(() => { axios.get("/ebook/list?name=").then(response => { const data = response.data; ebooks.value = data.content; ebooks1.books = data.content; }) }) return { pagination, loading, columns, ebooks1: ebooks, ebooks2: toRef(ebooks1, "books") } }, components: SmileOutlined, DownOutlined, }, }); </script> <style scoped> img { width: 50px; height: 50px; } </style> Actual effect: 2. Conclusion If you are not familiar with the use of In general, it is better to bind the data before displaying the page. If it is not very clear, please refer to this article "Details of Vue3 list interface data display". This is the end of this article about the use of Vue3 table components. For more relevant Vue3 table component content, please search 123WORDPRESS.COM's previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future! You may also be interested in:
|
<<: How to implement controllable dotted line with CSS
>>: Summary of MySQL 8.0 Online DDL Quick Column Addition
This article mainly introduces the sql script fun...
In a cluster with master-slave replication mode, ...
Table of contents Preface Why introduce unit test...
Tomcat is a web server software based on Java lan...
In many projects, it is necessary to implement th...
Preface If you frequently access many different r...
【Foreword】 Both Vue and React's CSS modular s...
Today I designed a dynamic window style for publis...
Basically all e-commerce projects have the functi...
If Ubuntu is the most popular Linux operating sys...
Distinguish the differences between the filter, f...
Table of contents 1. for loop: basic and simple 2...
Preface The explain command is the primary way to...
This is my first time using the element framework...
This note is an installation tutorial. It has no ...