【项目经验】:项目中下拉框数据太多造成页面卡顿(二)

简介: 项目中下拉框数据太多造成页面卡顿(二)

一.项目需求

下拉框下拉列表数据是由后端返回的,而且他会变化,所以数据不是写死的而且数据量大。上一篇博客link我们是用的数据懒加载的方式,这次我们使用远程搜索的方式解决这个问题。

二.用到的组件方法介绍

Snipaste_2023-08-22_17-17-11.png

三.代码

<template>
    <div class="content">
        <el-select v-model="value" filterable remote placeholder="请输入关键词" :remote-method="remoteMethod" @change="change">
            <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
            </el-option>
        </el-select>


    </div>
</template>

<script>
export default {
    
    
    name: "list",
    data () {
    
    
        return {
    
    
            options: [],
            value: "",
            list: [],
            loading: false,
            states: []
        }
    },


    methods: {
    
    
        init () {
    
    
            for (let i = 0; i < 10000; i++) {
    
    
                let obj = {
    
    
                    value: `"${
      
      i}"`,
                    label: `数据${
      
      i}`
                };
                this.states.push(obj);
            }
            this.options = this.states.slice(0, 50);
            // console.log(this.options);
        },
        remoteMethod (val) {
    
    
            console.log("val", val);
            this.$axios(url, {
    
     val: val }).then(res => {
    
    
                // 后端通过模糊查询返回,也可以前端自己查
                this.options = res
            })
        },
        // 每次选中的下次打开显示到第一个
        change (val) {
    
    
            let index = this.states.findIndex(item => {
    
    
                return item.value == this.value;
            })
            this.states.unshift(this.states.splice(index, 1));
        }


    },
    mounted () {
    
    
        this.init()
    }
}
</script>

<style scoped></style>
相关文章
ECharts 柱状图横轴(X轴)文字内容显示不全
ECharts 柱状图横轴(X轴)文字内容显示不全
2141 0
|
前端开发 JavaScript 安全
【前端相关】elementui使用el-upload组件实现自定义上传
【前端相关】elementui使用el-upload组件实现自定义上传
3067 0
|
前端开发 JavaScript
【项目笔记】:elementui下拉框数据太多造成页面卡顿怎么解决?
针对前端下拉框数据过多造成页面卡顿,元芳你怎么看?
760 2
|
数据格式
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
本文介绍了在ElementUI和ElementPlus中使用`el-table`组件实现合并行功能的技巧,包括多列合并和单列合并的方法,并提供了相应的示例代码和运行效果。
10067 46
使用小技巧实现el-table组件的合并行功能,ElementUI和ElementPlus都适用
|
12月前
|
供应链 数据可视化 数据挖掘
企业信息化管理要了解的十种系统
信息化不仅是技术的引入,更是企业战略的重要组成部分,贯穿于企业的每一个环节,确保企业在复杂多变的市场中灵活应对、持续发展。
810 6
企业信息化管理要了解的十种系统
|
JavaScript
Element_select 选择器 选中框中显示不了选中的值
解决Vue中`el-select`选择器不显示选中值的问题:在`selectChanged`方法中添加`this.$forceUpdate()`,强制组件更新,使输入框显示选择的值。示例代码包括模板和方法。
1588 2
|
JavaScript UED
解决 Element-ui中 选择器(Select)因options 数据量大导致渲染慢、页面卡顿的问题
解决 Element-ui中 选择器(Select)因options 数据量大导致渲染慢、页面卡顿的问题
4605 0
解决 Element-ui中 选择器(Select)因options 数据量大导致渲染慢、页面卡顿的问题
|
存储 JavaScript
ThreeJS创建关键帧动画
这篇文章讲解了如何在Three.js中利用关键帧轨道 (`KeyframeTrack`) 创建动画效果,并提供了详细的步骤和代码示例。
316 0
【vue2】切换页面之后滚动条停留在上个页面的位置,解决方案
【vue2】切换页面之后滚动条停留在上个页面的位置,解决方案
995 6
通过patch-package创建补丁修改node_modules依赖下的源码
通过patch-package创建补丁修改node_modules依赖下的源码
497 0