微信小程序组件 —— 带搜索功能的选择器
效果
组件 search-picker 文件
wxml 文件:
<view class="search-picker">
<input
class="picker-item-input"
placeholder="请输入关键字"
value="{{pickerValue}}"
bindinput="input"
/>
<picker
class="picker-box"
mode="selector"
range="{{dataArray}}"
range-key="title"
value="index"
bindchange="change"
>
<view class="picker-icon cuIcon-unfold" />
</picker>
</view>
wxss 文件:
注:/colorui/icon.wxss 文件来自 ColorUI 。
@import "/colorui/icon.wxss";
.search-picker {
margin-left: 30rpx;
background: #f8f8f8;
border-radius: 40rpx;
font-size: 14px;
line-height: 80rpx;
padding-left: 30rpx;
display: flex;
}
.search-picker .picker-item-input {
margin-left: 10rpx;
width: 85%;
height: 100%;
line-height: 60rpx;
font-size: 14px;
}
.search-picker .picker-box {
width: 15%;
height: 100%;
justify-content: flex-end;
}
.search-picker .picker-box .picker-icon {
margin-right: 35px;
width: 100%;
height: 72rpx;
}
js 文件:
Component({
data: {
pickerValue: ''
},
properties: {
dataArray: {
type: Array,
value: []
}
},
methods: {
input(e) {
const value = e.detail.value;
this.setData({
pickerValue: value
});
this.triggerEvent('inputEvent', value);
},
change(e) {
const index = e.detail.value;
const data = this.properties.dataArray[index];
this.setData({
pickerValue: data.title
});
this.triggerEvent('changeEvent', data.id);
}
}
})
使用
wxml 文件:
<search-picker
dataArray="{{pickerData}}"
bind:inputEvent="inputEvent"
bind:changeEvent="changeEvent"
/>
js 文件:文章来源:https://www.toymoban.com/news/detail-586582.html
Page({
data: {
pickerData: [
{
id: 1,
title: '河零'
},
{
id: 2,
title: '奥斯丁'
}
],
},
async inputEvent(e) {
// const key = e.detail
// 搜索代码...
// ...
this.setData({
pickerData: this.data.pickerData
})
},
changeEvent(e) {
// 业务代码...
},
})
参考:https://blog.csdn.net/cwin8951/article/details/116160189文章来源地址https://www.toymoban.com/news/detail-586582.html
到了这里,关于微信小程序组件 —— 带搜索功能的选择器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!