vue+element表格 <el-select>远程搜索
为了启用远程搜索,需要将
filterable
和remote
设置为true
,同时传入一个remote-method
。remote-method
为一个Function
,它会在输入值发生变化时调用,参数为当前输入值。需要注意的是,如果el-option
是通过v-for
指令渲染出来的,此时需要为el-option
添加key
属性,且其值需具有唯一性,比如此例中的item.value
。
<el-table-columnprop="leftKey"align="center"label="农药登记证号"filterablewidth="145"><template slot-scope="scope"><el-selectv-model="scope.row.pdNo"filterableremoteclearable:disabled="true"reserve-keywordplaceholder="登记证号":remote-method="remoteMethod":loading="remoteLoading"><el-optionv-for="item in remoteOptions":key="item.value":label="item.label":value="item.value"></el-option></el-select></template></el-table-column>
data部分
detail: {pdNo: '',}, remoteOptions: [], // 远程农户证号 for循环的返回数据的数组remoteLoading: false, // 是否正在从远程获取数据
方法
remoteMethod (query) {try {clearTimeout(a)} catch (e) {}var a = setTimeout(() => {this.remoteLoading = true//获取农药证号数据if (query.length > 3) {this.$http({url: '/pesticide/register/registNoLike',method: 'get',params: {noLike: query}}).then(({ data }) => {if (data && data.code === 0) {this.remoteOptions = data.data.map(item => {return { value: `${item}`, label: `${item}` };});this.remoteLoading = false }})}else {this.remoteLoading = falsethis.remoteOptions = [{label: "请至少填写四位",value: ""}];}}, 300);},
再举一个例子,在a框中,远程搜索后得到数据后,把a和b框到数据绑定在一起。
<el-table-columnprop="leftKey"align="center"label="农药通用名"width="145"><template slot-scope="scope"><el-select:disabled="disabled"v-model="scope.row.commonName"filterableremotereserve-keywordplaceholder="农药通用名":remote-method="remoteMethodName":loading="nameLoading"value-key="pdNo"@change="(val) => {commonSelectChange(val, scope.$index)}"><el-optionv-for="item in nameOptions":key="item.pdNo":label="item.commonName":value="item"><!--:value="item" 绑定整条数据item--></el-option></el-select></template></el-table-column>
data中
detail: {pdNo: '',commonName: ''},remoteOptions: [], // 远程农户证号 for循环的返回数据的数组remoteLoading: false, // 是否正在从远程获取数据nameOptions: [],nameLoading: false,
事件
remoteMethodName (query) {try {clearTimeout(a)} catch (e) {}var a = setTimeout(() => {this.nameLoading = true//获取农药证号数据if (query.length >= 2) {this.$http({url: '/pesticide/register/pesNameLike',method: 'get',params: {nameLike: query}}).then(({ data }) => {if (data && data.code === 0) {// console.log(data, 4556454);// this.list = data.data// const nameData = [ // 假数据,让后台返回这种格式// {commonName:'敌敌畏',pdNo:'PD20142222'},// {commonName:'敌敌畏2',pdNo:'PD20142223'},// ]this.nameOptions = data.data || [];this.nameLoading = false}})}else {this.nameLoading = falsethis.nameOptions = [{label: "请至少填写两位",value: ""}];}}, 300);},
// 下拉框change事件commonSelectChange (value = {}, rowIndex) {const { pdNo = '', commonName = '' } = value;console.log(value, 5456465);this.remoteOptions = [pdNo]; // 给编号的数据赋值const details = (this.dataForm.details || []).map((item, index) => {// console.log(details, 888888);// item, index = Object.assign({}, (item, index)); // 拷贝对象,避免修改数据影响到数据源let newItem = JSON.parse(JSON.stringify(item))if (rowIndex === index) { // 如果是当前行// if (row.rowIndex === index) { // 如果是当前行item.commonName = commonName;item.pdNo = pdNo; // 给编号下拉框赋值}return { ...item }});this.dataForm.details = details;console.log(details, 88888);},
是
vue+element表格 <el-select>远程搜索相关推荐
- VUE ELEMENT UI 清空select 下拉选项
VUE ELEMENT UI 清空select 下拉选项 1.select代码 <el-form ref="searchForm" :inline="true&qu ...
- vue element 表格错位
vue element 表格发生错位对不齐的问题 在做vue element 表格的时候,页面展示上发现列表对不齐 <style scoped> /deep/ .el-table th.g ...
- vue element表格某一列内容过多,超出省略号显示
vue element表格某一列内容过多,超出省略号显示 iview表格某一列内容过多,超出省略号显示
- VUE+ELEMENT:表格渲染导致的 异常:You may have an infinite update loop in a component render function
场景: 做一个全文检索,检索到的记录显示到el-table表中,这本是一个简单的问题.后面要对检索的Key在记录中做高亮显示,遇到了这个异常. 百度一下,很吓人.可能有无限更新循环,这怎么行,听着这得 ...
- element中组件el-autocomplete远程搜索之精确匹配和模糊匹配
在实际开发项目中总是会遇到很多难以预测的情况, 比如el-autocomplete的远程搜索时,经常会从服务器发起搜索,然后把对象带出的相关值赋给其他标签元素,一般模糊匹配没问题,但是精确匹配会存在一 ...
- element 表格排序之远程排序去除默认排序
element表格提供了三种数据的排序方法: 升序排序 ascending 降序排序 descending 默认排序 null 如果是前端本地排序 可设置 sort-doders 属性为 ['asce ...
- antd vue select远程搜索下拉不更新数据
//重点: :default-active-first-option="false" :filter-option="false"<a-form-mode ...
- element ui select 远程搜索 选中之后清空输入框
第一步: 第二步:
- Vue+Element表格动态列+表格分页
LayUI表格动态列及分页LayUI+JavaScript表格动态列+表格分页 效果如图: 代码: 引用JQuery,Vue,Element等文件,换成自己的路径 <!DOCTYPE html& ...
最新文章
- 电脑计算机科学型,电脑里附带的计算器有标准型和科学型二种,它 – 手机爱问...
- 【播放器SDK】Android如何实现固定竖屏播放视频
- 中国地图_铜板画地图铜地球仪高档办公室装饰用品定制铜版画地图中国地图世界地图定制惠风堂铜雕艺术...
- Rich Caruana:压缩深度神经网络模型让你兼得可解释性与准确性!
- 12岁女孩零编程经验开发系统千人用,80岁初代程序员300多天打卡学AI
- T-SQL笔记6:GO
- Django中ajax发送post请求,报403错误CSRF验证失败解决办法
- 论文浅尝 | Data Intelligence第4期正式上线啦
- VS2010 代码自动对齐 快捷键
- 云服务器上划虚拟主机,云服务器上划虚拟主机
- 时间序列深度学习:状态 LSTM 模型预测太阳黑子(一)
- 品鉴贝叶斯公式里的大道理
- python创建一个csv文件_Python程序中用csv模块来操作csv文件的基本使用教程
- 学习笔记14--车联网辅助定位技术
- matlab二次曲线插补,圆弧插补器插补非圆二次曲线的方法
- 组建服务计算机我的电脑有个下三角,excel小三角怎么弄出来
- php laravel mix,引入 Laravel Mix 管理前端资源
- Linux-发送邮件
- 绘制盐沼植被图的混合方法-文献阅读
- [ubuntu14.04]linux 开发装机必备
热门文章
- 大数据能力提升项目|学生成果展系列之五
- 实战:手把手带你从0到1搭建自己的hugo博客站点(持续更新)-2022.5.4
- 树莓派 编译安装OpenCV4.1.0+opencv_contrib-4.1.0
- 一个android控件资源网站
- macOS High Sierra 10.13正式版USB安装盘制作
- 互联网公司程序员完整的晋升路径!
- 普元软件推动企业应用架构转型互联网
- House Robber的解法
- 数据可视化分析教学课件——FineBI实验册节选====活动分析
- 思博伦Spirent Testcenter C50-100G以太网测试仪_双极未来