current position:Home>Vue + element when there is no paging at the back end, the front end completes the paging of El table independently - scrolling to the bottom to load new data
Vue + element when there is no paging at the back end, the front end completes the paging of El table independently - scrolling to the bottom to load new data
2022-04-29 14:35:46【BUG_ Jia】
1、 First, you can view the following links , to el-table Table binding monitor Scroll bar Events , Make global custom instructions .
link :vue+element-ui:vue Custom instruction listening el-table The rolling Events , Scroll to the bottom of the scroll bar to load new data _BUG_Jia The blog of -CSDN Blog 1. First, in the vue In the project main.js Add a listener to the file el-table Custom instructions for scroll bar Events , For global use .// Prepare a scroll load instruction Vue.directive('loadmore', { bind(el, binding) { const selectWrap = el.querySelector('.el-table__body-wrapper') selectWrap.addEventListener('scroll', function() { https://blog.csdn.net/BUG_Jia/article/details/1244573192、 Secondly, after the data request is completed , First rendering 10 strip , Save the complete data in another variable .
data() {
return {
// Render table data
tableData: [],
// Save the complete data of the table
tableDataTotal: []
}
}
this.$axios
.post(`/ The path of the request `, Request parameters )
.then(response => {
this.loading = false;
const res = response.data;
if (res.code === 200) {
// You can start copying from here
// Empty each request
this.tableData===[]// Render table variables
this.tableDataTotal===[]// The variable that holds all the data
let tableData = res.data;
if (tableData.length > 10) {
this.tableDataTotal = tableData;// Store all requested data
this.tableData = tableData.slice(0, 10);// Before storing the request 10 Data , To render for the first time
}
// You can end the copy here
}
})
.catch(error => {
this.loading = true;
Message({
message: error,
type: "error",
duration: 5 * 1000
});
});
3、 After reading the top link , here el-table The label has been added v-loadmore=“ Custom function name instruction ”, Process the data in the custom function name , Add... Every time you trigger 10 Strip to tableData In the middle .
// form
<el-table
ref="tableData"
v-loadmore="loadMore"
v-loading="loading"
:data="tableData"
border
stripe
>
// 8. Table scroll loading event
loadMore() {
// It can be processed according to the data type returned by the back end , Not necessarily in this way ,
//1. The idea is that whenever this function is triggered , First get the number of pieces at this time (tableNum)
var tableNum = this.tableData.length;
//2. Re pass tableNum Intercept all data stored tableDataTotal After 10 strip (a)
let a = this.tableDataTotal.slice(tableNum, tableNum + 10);
a.map(item => {
//3. Again push To the page to be rendered tableData Go to variables
this.tableData.push(item);
});
if(a.length===0){
this.$message.warning(' It's the end of it ')
}
}
copyright notice
author[BUG_ Jia],Please bring the original link to reprint, thank you.
https://en.qdmana.com/2022/119/202204291256474084.html
The sidebar is recommended
- Introduction to basic methods of math built-in objects in JavaScript
- JavaWeb Tomcat (III) httpservlet
- Vue Za wiper technical scheme
- Differences, advantages and disadvantages between HTTP negotiation cache Etag and last modified
- After taking tens of millions less, the management of Lenovo holdings took the initiative to reduce the salary by 70%
- What if Vue introduces this file and reports an error?
- Use Hikvision Web3 in vue3 2. Live broadcast without plug-in version (II)
- How to learn high-order function "zero basis must see"
- Detailed explanation of JS promise
- Cesium drawcommand [1] draw a triangle without talking about the earth
guess what you like
The role of webpack cli in webpack packaging
Action system of coco2d-x-html5
Vxe table check box paging data memory selection problem
[hand tear series] hand tear promise -- this article takes you to realize promise perfectly according to promise a + specification!
QT use qdialog to realize interface mask (mask)
Differences between JSP comments and HTML comments
Bankless: Ethereum's data report and ecological highlights in the first quarter of 22 years
Spring mvc07: Ajax research
Understand the basic history and knowledge of HTTP
JQuery realizes picture switching
Random recommended
- Technology sharing | learning to do test platform development vuetify framework
- Technology sharing | test platform development - Vue router routing design for front-end development
- Return to the top - wepy applet - front end combing
- Install less / sass
- Node. JS basic tutorial
- Have you learned how to use Vue?
- The front end can't calm me down
- Introduction to JavaScript
- Vue
- Technology sharing | learning to do test platform development vuetify framework
- Vue starts with an error and prompts NPM install core- [email protected] // oryarn add core- [email protected]
- STM32 + esp8266 + air202 basic control chapter - 201 - server reverse proxy - server installation nginx (. Windows system)
- STM32 + esp8266 + air202 basic control chapter - 205 - server reverse proxy - Web server configuration HTTPS access (. Windows system)
- Element after the spring frame assembly is opened, the scroll bar returns to the top
- Java project: nursing home management system (java + springboot + thymeleaf + HTML + JS + MySQL)
- Java project: drug management system (java + springboot + HTML + layui + bootstrap + seals + MySQL)
- What are the similarities and differences between jQuery and native JS?
- The starting price is less than 90000 yuan, and the National University's seven seat super value SUV xinjietu x70s is officially pre sold
- Fastadmin modifies the list width (limit the list width, support CSS writing), and the width limit. It is too large or useless.
- Learning ajax in Vue is enough
- Rasa dialogue robot serial 7 lesson 122: rasa dialogue robot debugging project practical bank financial dialogue robot whole life cycle debugging practice - (III)
- CSS foundation-15-drop-down menu
- Only one message prompt pops up in the element UI at a time
- Leetcode 82. Delete duplicate elements in the sorting linked list II
- This beast was blessed with skills to test drive the DHT version of Harvard beast
- Vue Click to switch the background color randomly (small demo)
- In the era of man-machine war, how did Beijing magic cube and artificial intelligence produce chemical reaction
- About nginx + Nacos using domain name connection invalid things
- How strong is the giant wave hybrid blessing when GAC motor shadow cool makes its global debut?
- Layui framework application FAQ
- Layui style optimization
- Post request (http-c4e7.post)
- Is low code a blessing or a challenge for programmers?
- Use the pointer of the array to test the relationship between the two-dimensional elements and the column of the array in the order of "% 1-6", and then use the pointer of the array to output the data in the order of "% 1-6", and then use the pointer of t
- 6-2 pointer and the sum fraction of each column of array matrix 10 this problem requires the implementation of a function to find the sum of each column of a two-dimensional array with n (less than 10) rows and 7 columns. The columns and are stored in a o
- 7-1 find the specified element in the array
- When using uniapp for e-commerce projects, vuex is used to realize the global sharing of data to make shopping cart pages
- JQuery Basics
- `JQuery ` advanced
- Do not leave the market unless necessary! Zhongshan City issued specific requirements for campus epidemic prevention after the May Day holiday