前端uniap实现搜索功能

一、使用uview实现

1.使用到的组件搜索框<u-search></u-search>

placeholder--搜索框里面的提示文字。@search--回车或者点击搜索时触发的函数

<template>
    <u-search placeholder="搜索" v-model="keyword" @search="searchHistory"></u-search>
</template>

2.申明keyword

3.清空展示数据后通过for循环遍历所有的数据,把需要的内容通过关键字搜索出来放到展示数据里

<script>
export default {
    data() {
        return {
           keyword:'',
           aList:[],//展示的数据
           bList:[]  //所有的数据
        }
    },
    methods: {
       searchHistory(value){
				// value自动接收输入框中的内容
				if (value == ''){
                    //如果输入的值为空则加载所有的列表
					this.getList();
				}else {
					//先清空展示的数据
					this.aList = []
					//然后开始循环全部数据
					for (var i = 0; i < this.bList.length; i++) {
						//判断数据里面是否有符合输入的内容  不符合返回-1 只需要大于或等于0就是符合
						//(核心所在,其它都是根据需求来自己写)
						if (this.bList[i].pullTime.indexOf(value) >= 0) {
							this.aList.push(this.bList[i])
						}
					}
				}
			},
    getList(){
       //向后台发送请求,拿到所有的数据然后赋值给aList和bList
    }
}
</script>

二、通过后端提供接口来实现搜索

 1.使用到的组件搜索框<u-search></u-search>

placeholder--搜索框里面的提示文字。@search--回车或者点击搜索时触发的函数

<template>
    <u-search placeholder="搜索" v-model="keyword" @confirm="getList(true)"></u-search>
</template>

2.把keyword 传给后台进行查询

<script>
export default {
    data() {
        return {
           keyword:'',
           list:[],//展示的数据
           para: {
                pageNumber: 1,  //页数,第一页
                pageSize: 10,   //每页展示的数据数,10条数据
                types: 0        //传给后台的类型(看自己需求)
            },
           isLastPage:false,
        }
    },
    methods: {
       async getList(refresh){
            if (refresh) {
                this.para.pageNumber = 1;
                this.list = [];
                this.isLastPage = false;
            } else {
                this.para.pageNumber++;
            }
            if (this.isLastPage) {
                //页面信息提示,iipKit是自己封装的组件
                this.iipKit.toast('没有更多了');
                return;
            }
            let page = await this.$api.向后台请求数据(para);
            this.list.push(...page.list);
            this.isLastPage = page.lastPage;
    }
}
</script>

 

  • 9
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
uniap是一种热更新技术,它的作用是在不影响用户登录状态的情况下,实现应用的在线更新。然而,在使用uniap进行热更新时,有时候会发现登录状态被清空的情况。 造成uniap热更新清空登录的原因可能有以下几点: 1. 数据结构变更:在进行uniap热更新时,可能会涉及到应用的数据结构的变更。如果登录状态相关的数据结构在更新过程中发生了改变,那么旧的登录状态信息无法与新的数据结构匹配,就会导致登录状态的清空。 2. 数据库更新:热更新可能会涉及到应用的数据库结构或数据表的变更。如果登录状态相关的信息存储在数据库中,而在进行uniap热更新时,数据库结构或数据表发生了改变,那么相应的登录状态信息可能无法正确读取,就会导致登录状态的清空。 3. 缓存变更:在进行uniap热更新时,应用的缓存机制可能也会发生变化。如果登录状态相关的信息被缓存在旧的缓存中,而新的热更新版本中的缓存机制发生了变化,那么旧缓存中的登录状态信息无法被正确读取,就会导致登录状态的清空。 由于uniap热更新的具体实现因开发者而异,涉及到的细节也有所不同,上述原因只是一些常见的可能性,并不能覆盖所有情况。因此,在应用中使用uniap进行热更新时,开发者需要进行充分的测试和验证,确保不会出现登录状态清空的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值