先说一说需求:后台管理系统的一个下拉筛选框,下拉的数据要从后台获取,每次输入关键字从后台获取下拉条目,获取的下拉条目是带有分页的。

需求分析:那么有两点需要处理,第一,在输入框数据发生变化时首先向后台请求数据并且渲染在下拉框里面,注意这时请求的数据是带有分页的,所以要在下拉框进行滑动的时候页码加一继续请求数据,也就是要进行loadmore逻辑的处理;第二,监听下拉框选择的数据,当选择的数据变化的时候,带着这个选择的数据(作为筛选条件)去进行主列表的请求。

下面附上代码:

      <div class="datePicker" style="display:inline-block;margin-right:10px;">标签:<el-select v-model="tagArr" v-el-select-loadmore="loadmore" filterable multiple collapse-tags placeholder="请选择" style="width:250px;" :filter-method="tagSearch" clearable><el-optionv-for="(item, i) in tagOption":key="i":label="item":value="item"/></el-select></div>
<script>
export default {// 这里自定义下拉加载的指令directives: {'el-select-loadmore': {bind(el, binding) {// 获取element-ui定义好的scroll盒子const SELECTWRAP_DOM = el.querySelector('.el-select-dropdown .el-select-dropdown__wrap')SELECTWRAP_DOM.addEventListener('scroll', function() {/*** scrollHeight 获取元素内容高度(只读)* scrollTop 获取或者设置元素的偏移值,常用于, 计算滚动条的位置, 当一个元素的容器没有产生垂直方向的滚动条, 那它的scrollTop的值默认为0.* clientHeight 读取元素的可见高度(只读)* 如果元素滚动到底, 下面等式返回true, 没有则返回false:* ele.scrollHeight - ele.scrollTop === ele.clientHeight;*/const condition = this.scrollHeight - this.scrollTop <= this.clientHeightif (condition) {binding.value()}})}}},data() {return {info: {},isLoad: true,tagOption: [],filter: {pageNo: 1,pageSize: 10,tags: [],},tagFilter: {pageNo: 1,pageSize: 50,keyword: ''}}},watch: {tagArr(newVal, oldVal) {this.filter.tags = newVal// console.log(this.filter.tags, '这里是选择的标签')this.getListTo1()}},methods: {getListTo1() {// 进行搜索的时候页码要跳到1this.filter.pageNo = 1this.getList()},loadmore() {// 当还有标签的时候再继续请求if (this.isLoad) {this.tagFilter.pageNo++this.getTagsList()}},tagSearch(val) {// console.log(val, '搜索标签了')this.tagFilter.keyword = valthis.tagFilter.pageNo = 1this.tagOption = []this.getTagsList()},getTagsList() {wallPapersTags(this.tagFilter).then(res => {// console.log(res, '这里是所有的标签列表')for (const item of res.list) {this.tagOption.push(item)}// this.tagOption = res.listthis.isLoad = res.more})},getList() {wallPapersList(this.filter).then(res => {this.info = resthis.listLoading = false})}}}</script>

到此,这样一个很小的功能就结束了。
功能虽小,但是要注意的细节还是很多的,所以我选择记录下来一方面为了自己加深印象,另一方面希望能够给到过路的人一点点帮助,哈哈哈!
加油,感谢那个正在努力的自己!!!

Element Select选择器从服务器搜索数据,输入关键字进行查找(从服务器获得的数据有分页)相关推荐

  1. 解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找

    解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找 参考文章: (1)解决模糊查询问题 element UI 从服务器搜索数据,输入关键字进行查找 (2)https://ww ...

  2. vue中关键字的搜索,输入关键字列表和分页一起刷新

    接着上篇文章,这个是关键字的搜索,输入关键字进行搜索的时候,列表的数据和分页跟着一起改变 <template><div class="all"><di ...

  3. selenium定位 百度搜索框输入关键字后,下拉框联想出来的怎么定位

    百度搜索框输入关键字后,下拉框联想出来的怎么定位? 百度下拉框联想出来的我们按F12中的箭头时,下拉框会消失收回去的. 这个时候怎么办呢 解决办法: 就三个步骤 1.在百度搜索框输入关键字" ...

  4. 大学c语言作业用什么搜题比较好,快速查找题库_什么手机软件可以把题库输入进去然后输入关键字可以查找点道题_淘题吧...

    ❶ 什么手机软件可以把题库输入进去.然后输入关键字可以查找点道题 用试题通啊,这款软件可以的,题库录入过后搜索关键字就能看到答案和题目了. ❷ 如何快速寻找题库中的答案我有份题库,答题时如何快速的找到 ...

  5. 办公自动化:输入关键字,查找Excel里的内容_xing2516_新浪博客

    ##输入关键字,查找Excel里的内容import xlrd file_path='成绩.xlsx'#读取工作簿workbook=xlrd.open_workbook(file_path) grade ...

  6. 小程序篇1-1:搜索框输入关键字、词检索;点击取消恢复默认状态

    当光标点击搜索框输入(后台数据)关键字时,点击输入框后面的×恢复初始状态. 代码如下 wxml: <!-- 搜索框页面 --><view class='search'>< ...

  7. BrandExample.Criteria方法 实现搜索框输入关键字模糊查询

    1.前端: 搜索框: <div class="has-feedback">关键字查询:<input ng-model="searchEntity.nam ...

  8. vue+element实现Select 选择器的远程搜索、滚动加载

    1.html结构: <el-selectv-model.trim="query.enEnterpriseBaseId"v-loadmore="loadMore&qu ...

  9. 搜索框输入内容进行查找匹配

最新文章

  1. 如何打造真正可动态扩展的服务架构
  2. SAP B1在添加物料主数据时,出现错误提示‘xxxx代码已存在’的解决方法
  3. spring security源码分析之core包
  4. html.renderaction 控制器,Html.RenderAction简单用法
  5. 将本地文件上传至Github【详细步骤】
  6. DIV或者DIV里面的图片水平与垂直居中的方法 - 站住,别跑 - 博客园
  7. 创业不要把大公司当直接对手
  8. signature=14a3e4f784cf9004647ea52bac22e550,维族老年慢性阻塞性肺疾病患者合并肺动脉高压的临床研究...
  9. php shell,php命令行写shell实例详解
  10. aref无效 lisp_Common Lisp专题4:数组
  11. 宇视EZVMS系统通过GB28181协议接入EasyGBS的步骤说明
  12. 【Python3】简易爬虫实现船舶的MMSI的获取
  13. 刚入职的新人如何快速了解公司业务
  14. 用PHOTOSHOP给图片打马赛克
  15. Jenkins插件配置国内镜像
  16. mysql中IFNULL,NULLIF,ISNULL函数的对比
  17. Windows认证原理
  18. XMU 1611 刘备闯三国之卖草鞋 【贪心】
  19. 直播系统开发语音源码功能开发
  20. [自动化测试] 去哪儿机票搜索

热门文章

  1. Java面试题目大汇总(附参考答案)
  2. C/C++ 自制一个基于zlib的文件的(解)压缩系统
  3. python的flask框架实现的小型二手商城
  4. 硬盘安装FC6 linux
  5. testlink linux,Linux下安装testlink
  6. python:二.Python教程
  7. CSDN学习业务年终总结
  8. 校园网测试--ettercap使用
  9. 关于线程中断thread interrupt
  10. HBase入门到精通——培训资料分享