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
Table of contents Initialize the project Writing ...
The function I want to achieve is to open a new w...
Startups often bring us surprises with their unco...
This article describes the Linux user and group c...
This article example shares the specific code of ...
mysql set to case insensitive Windows Go to the d...
Table of contents 1. Example: this can directly g...
grammar: background-image: conic-gradient(from an...
Docker Compose can realize the orchestration of D...
1. The difference between Http and Https HTTP: It...
Table of contents Preface text Primitive types Pr...
Table of contents Modify the repository source st...
Table of contents nonsense text The first router/...
Let's take a look at the code first <form ...
1. Overview of viewport Mobile browsers usually r...