uni-app开发搜索框的本地数据存储

uni-app实现搜索记录功能
本文介绍如何使用uni-app中的数据缓存接口实现搜索记录功能。通过uni.setStorage和uni.getStorage接口,可以轻松地存储和读取用户的搜索历史。需要注意的是,在存储数据时要正确处理this指向问题。

 首先,开发这么一个搜索记录的功能很简单,只需要用到uni-app中的两个数据缓存接口,一个是存储数据uni.setStorage(OBJECT),一个是获取数据uni.getStorage(OBJECT)

细节:需要注意的是存储数据的时候this的指向!

<input type="text" focus v-model="changeVaule" @confirm="searchFun"/>

 

onLoad() {
	const than = this        // 注意this的指向
	uni.getStorage({
		key: 'searchAll_key',
		success(res) {
			than.searchAll = res.data
		}
	})
},
data() {
	return {
		changeVaule: '',    // 输入框输入的值
		searchAll: []       // 搜索记录
	}
},
methods: {
	searchFun() {
		if(this.changeVaule != '') {    // 输入框的值不为空时
            const than = this
			this.searchAll.push(this.changeVaule)    // 将输入框的值添加到搜索记录数组中存储
			uni.setStorage({
				key: 'searchAll_key',
				data: than.searchAll,    
				success: function () {
							
				}
			})
		    this.changeVaule = ''
	    }
	}
}

 

UniApp实现顶部导航栏的搜索框,你可以按照以下步骤操作: 1. **添加搜索框组件**: 在`.vue`文件的模板部分,引入`u-navbar`组件,并在其子元素中添加`u-navbar-search`来创建搜索框。 ```html <template> <view> <u-navbar> <u-navbar-item :index="0" @click="onNavigationBarButtonTap">按钮1</u-navbar-item> <!-- 添加搜索框 --> <u-navbar-search placeholder="请输入搜索关键词" v-model="searchText" @search-input-changed="onNavigationBarSearchInputChanged"></u-navbar-search> <u-navbar-item :index="1" @click="handleNewInfo">按钮2</u-navbar-item> </u-navbar> </view> </template> ``` 2. **绑定事件处理器**: 在`data`里声明`searchText`用于存储搜索框输入内容,并在`methods`中定义`onNavigationBarSearchInputChanged`和`handleNewInfo`函数。 ```js export default { data() { return { searchText: '', }; }, methods: { // ...其他方法 onNavigationBarButtonTap(e) { if (e.index === 0) { this.$u.showToast('界面刷新'); } else if (e.index === 1) { this.navigateTo('/pages/sysy/tssy'); } }, onNavigationBarSearchInputChanged(e) { this.$u.showToast(e.text); }, handleNewInfo() { uni.navigateTo({ url: '/pages/sysy/tssy', }); }, }, }; ``` 3. **监听输入化**: 当用户在搜索框输入时,`onNavigationBarSearchInputChanged`函数会被触发,显示用户输入的内容。 现在,你已经成功地在UniApp实现了顶部导航栏的搜索框,当用户输入时会弹出提示框显示输入内容,并且可以监听按钮点击事件执行相应的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值