微信小程序 —— picker 组件, 下拉列表组件

range-key string 当 range 是一个 object array 时, 通过 range-key。value number 0 表示选择了 range 中的第几个(下标从 0 开始)此处只列举 mode = selector 时,selector 是默认属性,不需要设置。除了通用属性,对于不同的 mode, picker 拥有不同的属性。上面的 weui.wxss 是微信官方提供的 UI 库。用这种格式加到项目里。
摘要由CSDN通过智能技术生成

本文主要内容

  • picker 组件的使用
  • 自定义组件的创建和使用
  • 微信小程序的语法,官方 wxss 库的使用

picker 组件

从底部弹起的滚动选择器
doc: https://developers.weixin.qq.com/miniprogram/dev/component/picker.html

通用属性:

属性 类型 默认值 必填 说明
mode string selector 选择器类型
disabled boolean false 是否禁用
bindcancel eventhandle 取消选择时触发

此处省略了 header-text, 仅安卓可用
除了通用属性,对于不同的 mode, picker 拥有不同的属性
此处只列举 mode = selector 时,selector 是默认属性,不需要设置。

属性 类型 默认值 说明
range array/object array []
range-key string range 是一个 object array 时, 通过 range-key 来指定 object 中 key 的值作为选择器显示内容
value number 0 表示选择了 range 中的第几个(下标从 0 开始)
bindchange eventhandle value 改变时触发 change 事件,event.detail = {value}

程序如下
index.js

Page({
  data: {
    array: ['美国', '中国', '巴西', '日本'],
  },
  bindPickerChange: function (e) {
    console.log('picker发送选择改变,携带值为--------', e.detail.value)
    this.setData({
      index: e.detail.value
    })
  },
})

index.wxml

    <view class="section__title">普通选择器</view>
    <!-- value 表示选择了 range 中的第几个(下标从 0 开始)-->
    <!-- mode 默认为 selector, 可以不写 -->
    <picker  mode="selector"   bindchange="bindPickerChange" value="{
  {index}}" range="{
  {array}}">
      <view class="picker">
        当前选择:{
  {array[index]}}
      </view>
    </picker>

如果用样式
index.wxml

<view class="page">
    <view class="section__title">普通选择器</view>
    <!-- value 表示选择了 range 中的第几个(下标从 0 开始)-->
    <!-- mode 默认为 selector, 可以不写 -->
    <picker  mode="selector"   bindchange="bindPickerChange" value="{
  {index}}" range="{
  {array}}">
      <view class="picker">
        当前选择:{
  {array[index]}}
      </view>
    </picker>
</view>

index.wxss

@import "../../lib/weui.wxss";
.picker{
    padding: 13px;
    background-color: #459aa570;
}
.page {
  /* 顶部留白空余的高度 */
    padding-top: 30px;
}

UI 库

上面的 weui.wxss 是微信官方提供的 UI 库
用这种格式加到项目里
@import “…/…/lib/weui.wxss”;

自制组件

6.2.3 自定义组件
小程序开发文档
https://developers.weixin.qq.com/miniprogram/dev/framework/custom-component/
新建 comopents 目录,与 page 同级。
./components
└── select
├── select.js
├── select.json
├── select.wxml
└── select.wxss
在使用这个组件的页面,如 index.js 里加上
{
“usingComponents”: {
“select”:“/components/select/select”
}
}

下拉列表组件程序

refer to:
https://blog.csdn.net/l_yilan/article/details/120019884
https://blog.csdn.net/boveysmith/article/details/109544238
因为下拉列表需要多次使用,为了方便使用,需要定义为组件

实现原理

原理就是通过显示或隐藏列表来实现下拉列表
隐藏用 wx:if "{ {show}}"来判断,或通过设置 height 为 0 来实现或者

问题todo

会有组件覆盖,能看到下面的组件
json

{
   
  "component": true,
  "styleIsolation": "apply-shared",
  "usingComponents": {
   
  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值