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
Preface Let’s take a look at the final effect fir...
mysql copy one table column to another table Some...
If your DOCTYPE is as follows: Copy code The code ...
Basically all e-commerce projects have the functi...
1. Implementation principle of scrolling The scro...
Copy code The code is as follows: <div style=&...
Table of contents In vue2 In vue3 Notes on setup ...
0. Introduction August 18, 2016 Today, I noticed ...
1: Install mongodb in docker Step 1: Install mong...
Knowledge point 1: Set the base URL of the web pa...
Table of contents Installation-free version of My...
Today I saw a case study on MySQL IN subquery opt...
1. Cause The official cerbot is too annoying. It ...
Alibaba Cloud purchases servers Purchase a cloud ...
Table of contents 1. What is lazy loading of rout...