uni-app (uView) select下拉框添加模糊搜索
2024-10-21 03:33:29
先看效果:
因为uniapp内置的下拉查询是没有输入模糊搜索的,有的列表选项过多时还是需要这个搜索功能,所以只能自己筛选 (前台、后台两种方法)。
下面是代码:
<template>
<u-form-item
label="产品:"
prop="productCode">
<u-input
v-model="productName"
type="input"
placeholder="请选择产品"
@confirm="searchProduct"/>
<view slot="right">
<u-icon
size="40"
name="search"
color="#2979ff"
@click="searchProduct"/>
</view>
<u-select
v-model="showSelect"
:list="showList"
@confirm="selectClick"/>
</u-form-item>
</template>
<script>
export default {
data() {
return {
productName:'',
form: {
productCode:'',
},
rules: {
productCode: [
{
required: true,
message: '产品不能为空',
trigger: ['change', 'blur'],
}
],
},
list: [],
showList:[],
showSelect:false
}
},
methods: {
selectClick(e) {
console.log(e[0])
this.productName = e[0].label
this.form.productCode = e[0].value
},
// 模糊搜索
searchProduct(){
//首先判断输入框是否为空
if(this.productName === ''){
//this.showList是下拉框显示的内容,如果为空就展示全部数据
this.showList = this.list
//否则执行下面内容
}else{
//先清空展示的数据
this.showList = []
//1.前端匹配
this.showList = this.list.filter((item)=>{
return item.label.indexOf(this.productName)>=0
})
//2.后端请求接口匹配
//getProductByLine(this.productName).then(res => {
// this.showList = res.data
// }).catch(err => { // })
}
console.log(this.showList)
this.showSelect = true
}
}
}
</script>
<style lang="scss" scoped> </style>
最新文章
- iOS-----程序异常处理----- 断言NSAssert()和NSParameterAssert区别和用处
- IO流
- 构建自己的PHP框架--实现Model类(3)
- JKS TO PEM
- Python成长笔记 - 基础篇 (十一)
- Python 单例
- MyEclipse搭建SSM框架(Spring+MyBatis+SpringMVC)
- 最小圆覆盖(Smallest Enclosing Discs)
- .NET RSACryptoServiceProvider PEM + DER Support
- Restrict each user to a single session in window server 2008 R2 or 2012
- careercup-高等难度 18.9
- 两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http
- Spring(四)-- JdbcTemplate、声明式事务
- SpringCloud的部署模型
- 入坑DL CV 一些基础技能学习
- python发送smtp 邮件 图片
- oracle查表技巧
- 手工命令行 搭建 hadoop 和 spark 环境
- Picard Tools
- Scala包和引用