小程序封装search搜索组件
资源下载:https://download.****.net/download/qq_40190624/11157895
用户对搜索出来的list点击后,去到下一个页面,但是也会把当前数据在当前页面做成一个历史记录,如果点击历史对应的标签会,把带着当时存下来的Id跳到detail页面
search 子组件:
<view class='searchbar'>
<navigator wx:if="{{isNavigator}}" url='/pages/search/search' class='search-navigator'></navigator>
<view class='search-group' wx:else>
<input placeholder='搜索' bindinput='onInputEvent'></input>
</view>
</view>
search.js
Component({
/**
* 组件的属性列表
*/
properties: {
isNavigator: {//接收父组件传来的值
type: Boolean,
value: false
}
},
data: {
},
/**
* 组件的方法列表
*/
methods: {
onInputEvent(e) {
let value = e.detail.value;//监听到Input框实时更新的值
let options = {};
let detail = { "value": value}
this.triggerEvent('searchInput', detail, options )//注册触发事件在父组件使用,把在父组件需要用的值传过去
}
}
})
父组件:
注册子组件:
{
"usingComponents": {
"searchbar":"/components/searchbar/searchbar"
}
}
父组件wxml引入
<searchbar bindsearchInput="onsearchInput"/><!--bind 为小程序提供的绑定事件searchInput 为在子组件注册的触发事件-->
父组件js:使用子组件的方法:
onsearchInput(e) {
let _this = this;
let value = e.detail.value;
network.getSerachItem({//调用搜索接口
value,
success(res) {
_this.setData({//更新data数据
items: res
})
}
})
},