小程序 自定义picker 加搜索框

效果图:

<view class='mask_msg' hidden='{{showSelUser}}'>
  <view class='msg_dim bsb'></view>
  <view class='msg_box flex_aj pw100 bw' style="bottom: 0;z-index: 999;border-top-left-radius: 30rpx;border-top-right-radius: 30rpx;">
    <view class="plr24 ptb30 tac pw100 bsb">
      <view class="pw100 flex_sb font15">
        <button class="bgcg1 colc border-r5 pw20 h70 lh70" catchtap='btnCloseWindow'>取消</button>
        <view class="col3">选择</view>
        <button class="bgc1 colw border-r5 pw20 h70 lh70" catchtap='btnConfirmSelect'>确定</button>
      </view>
      <view class="bgcg1 border-r5 flex_sb ptb20 pl20 bsb mt40 col3">
        <view class="pw75 flex_a">
          <image src="/img/112.png" mode="widthFix" style="width:40rpx" class=""></image>
          <input type="text" class="pw90 tal pl10" placeholder="请输入手机号" bindinput="pickerInput" />
        </view>
        <view class="pw20 colc" bindtap="btnPickerSearch">搜索</view>
      </view>

      <view class="pw100 bsb colc flex_aj ptb30">
        <picker-view class="sensorTypePicker pw100" indicator-style='height: 40px;' bindchange="changeUser" value="{{value_sta}}" bindpickstart="handlePickStart" bindpickend="handlePickEndFirst">
          <picker-view-column class="">
            <view wx:for="{{userList}}" wx:key="index" class="flex_aj ">{{item.nickname}} {{item.account}}</view>
          </picker-view-column>
        </picker-view>
      </view>

    </view>
  </view>
</view>

 部分样式

/* //遮罩层 */
.mask_msg{ 
  width:100%;
  position:fixed;
  height:100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  top: 0;
  z-index: 9999;
}

 /* 模糊层 */
.mask_msg .msg_dim{
  width:100%;
  height:100%;
  position:fixed;
  background-color:#28292a;
  z-index:99;
  top:0;
  left:0;
  opacity:0.6;
}

  /* 内容外框 */
.mask_msg .msg_box{
  width: 100%;
  position: fixed;
  z-index: 999;
  text-align: center;
  color: #fff;
  box-sizing:border-box;
  left: 0;
}

.sensorTypePicker{
  height: 360rpx;
}
.picker-item{
  line-height: 50px;  
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
自定义picker组件,可以按照以下步骤进行: 1. 创建一个自定义组件,在组件内部创建一个picker组件。 2. 在组件的js文件中,定义需要传递给picker组件的属性和方法。 3. 在组件的wxml文件中,使用picker组件,并绑定对应的属性和方法。 4. 在使用自定义组件的页面中,引入自定义组件,并传递需要的属性和方法。 以下是一个简单的自定义picker组件的示例代码: 1. 创建自定义组件 ``` // components/custom-picker/custom-picker.js Component({ properties: { // 定义需要传递给picker组件的属性 range: { type: Array, value: [] }, value: { type: Number, value: 0 } }, methods: { // 定义需要传递给picker组件的方法 onChange(event) { const { value } = event.detail; this.triggerEvent('change', { value }); } } }) ``` 2. 在组件的wxml文件中使用picker组件 ``` <!-- components/custom-picker/custom-picker.wxml --> <view class="picker-container"> <picker mode="selector" bindchange="onChange" :range="{{ range }}" :value="{{ value }}" > <view class="picker-value">{{ range[value] }}</view> </picker> </view> ``` 3. 在使用自定义组件的页面中引入并使用 ``` <!-- pages/index/index.wxml --> <custom-picker range="{{ ['选项一', '选项二', '选项三'] }}" value="{{ 0 }}" bind:change="onPickerChange" ></custom-picker> ``` 在页面的js文件中定义onPickerChange方法,接收自定义picker组件传递的value值。 这样就可以实现自定义picker组件了。注意,在实际开发中,还需要根据具体的需求进行样式和功能的定制。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值