element-ui 远程搜索项目实战

news/2024/7/10 2:23:21 标签: javascript, vue, vue.js, html

功能描述:支持模糊搜索及分页展示数据

在这里插入图片描述

为了启用远程搜索,需要将filterable和remote设置为true,同时传入一个remote-method。remote-method为一个Function,它会在输入值发生变化时调用,参数为当前输入值。需要注意的是,如果el-option是通过v-for指令渲染出来的,此时需要为el-option添加key属性,且其值需具有唯一性,比如此例中的item.value。

html_7">html部分

  <el-row>
          <el-col :span="6"><i style="color:red">* </i>发放账户</el-col>
          <el-col :span="16">
            <el-select
              v-model="issueGift.company"
              filterable
              :remote-method="remoteMethod"
              remote
              placeholder="请选择"
              @change="companySelected"
              value-key="companyCode"
            >
              <el-option
                class="selectAll"
                v-for="item in companyList"
                :label="item.companyName"
                :key="item.companyCode"
                :value="{ companyCode: item.companyCode, companyShortname: item.companyShortname }"
              ></el-option>
              <div class="selectJob">
                <span class="text" @click.stop="prePage" v-show="sltPage != 1">上一页</span>
                <span class="text" style="padding-left:30px;" @click.stop="nextPage" v-show="sltPage !== pageCount">下一页</span>
              </div>
            </el-select>
          </el-col>
        </el-row>

主要属性 filterable remote :remote-method=“remoteMethod”(获取输入框数据发生变化事的事件 主要为了获取输入框的值以便调取搜索接口获取传参的值)

data部分

data() {
    return {
      companyName: '',
      companyCode: '',
      pageCount: 2, // 获取总页数
      sltPage: 1, // 当前页数
      }

Js部分

 // 下拉框远程搜索
    remoteMethod(query) {
      this.companyName = query   //获取输入框的值存进变量
      console.log('开始执行远程搜索', query)
      searchcompony({ dataState: '0', page: this.sltPage, rows: 10, companyName: this.companyName }).then(res => {
        this.companyList = res.list
        this.pageCount = Math.ceil(res.total / 10)
      })
    },
    // 下拉框分页
    nextPage() {
      console.log('执行下一页')
      if (this.sltPage < this.pageCount) {
        // 判断点击的页数是否小于总页数;
        ++this.sltPage
        searchcompony({ dataState: '0', page: this.sltPage, rows: 10, companyName: this.companyName }).then(res => {
          this.companyList = res.list
          this.pageCount = Math.ceil(res.total / 10)
        })
      }
    },
    prePage() {
      --this.sltPage
      if (this.sltPage < 1) {
        // 判断点击的页数是否小于1
        this.sltPage = 1
      }
      searchcompony({ dataState: '0', page: this.sltPage, rows: 10, companyName: this.companyName }).then(res => {
        this.companyList = res.list
        this.pageCount = Math.ceil(res.total / 10)
      })
    },

http://www.niftyadmin.cn/n/875308.html

相关文章

大数据三级分类解决方案

功能描述&#xff1a;适用数据量很大的场景 多级分类 &#xff0c;支持新增&#xff0c;删除&#xff0c;修改&#xff0c;查看&#xff0c;主要应用 分页器的使用 直接上代码 <template><div class"spec_group spec-cont"><!-- 顶部搜索组件 -->…

页面传参pq方式

应用场景&#xff1a;例如主表页面跳转编辑页面&#xff0c;传递唯一id值&#xff0c;在编辑页面重新调用接口&#xff0c;传id参数&#xff0c;确保每次刷新页面不会造成页面数据丢失 PS&#xff1a;由于pq方式传参参数会暴露在url上 如果是做登陆页面涉及敏感数据 比如账号…

JS数组几种常见的操作方法集合

ps&#xff1a;本篇博文为了方便阅读&#xff0c;变量都用的方法名&#xff0c;大家不要效仿 尽量规范 常见四件套 shift unshift pop push 1.shift &#xff08;删前&#xff09; 删除数组的第一项 并返回删除元素的值&#xff0c;注意如果数组为空 则返回undefined var ol…

ai脚本插件怎么安装_第2135期【插件】C4D快速建模HB插件辅助建模HB脚本包合集 附安装教程R1621...

用心分享 一梦一蝶侵权请联系删除插件往期干货精选第2108期【预设】深褐色调复古婚礼人像Lightroom预设第2109期【笔刷】雪花冬季飘落下雪PS笔刷唯美雪粒背景素材第2111期【素材】PS复古水彩亚麻纸木材质感纹理底纹素材第2114期【预设】好莱坞电影色调城市街拍Lightroom预设第2…

element-ui限制一张图片上传

需求描述&#xff1a;在做图片上传组件的时候 有时候需求回要求只能上传一张图片 bug&#xff1a;element-ui在上传完一张图片后上传按钮还会存在 虽然可以用自带的limt属性加以限制 但是上传按钮依然会存在 且存入数组的值依然会增加 解决&#xff1a;可以判断上传后数组的l…

GIT与SVN的区别

Git是分布式的&#xff0c;SVN不是&#xff1a;这是Git和其它非分布式的版本控制系统&#xff0c;例如SVN&#xff0c;CVS等&#xff0c;最核心的区别。Git把内容按元数据方式存储&#xff0c;而SVN是按文件&#xff1a;所有的资源控制系统都是把文件的元信息隐藏在一个类似.sv…

70打印位置调整_创想三维:3D打印机激光雕刻教程,留下回忆雕刻你的美

现在的人们都喜欢用照片来记录生活上的点点滴滴&#xff0c;除了把照片保存在电子相册上&#xff0c;还可以把照片打印出来装在纸质相册里。然而&#xff0c;随着激光技术的发展&#xff0c;我们还能利用3D激光打印把自己拍下的美美照片雕刻下来&#xff0c;用最古朴的气息来保…

深拷贝简单的写法

let obj2 JSON.parse(JSON.stringify(obj))原理&#xff1a;将obj对象转换成字符串 再将字符串重新变成一个对象 开辟内存空间 注意弊端&#xff1a;JSON.stringify&#xff08;obj&#xff09;在处理obj对象时 如果对象里面的值有正则的话 处理后正则值变成空字符串&#…