object picker 微信小程序_微信小程序-自定义picker选择器

c7af1b3b4a0f

avatar

为什么要自定义picker

原生小程序picker不支持自定义样式,无联动。

该自定组件

支持自定义数据

支持自定义样式

支持传入和返回对象或者基本类型

支持联动(改变父列,子列根据关联自动变化)

使用

直接将picker文件夹拖入工程

在某page的json文件中配置

{

"usingComponents": {

"picker": picker.js的相对路径

}

}

在page的wxml文件中使用

isShowPicker="{{isShow_02}}"

bind:sure="sureCallBack_02"

bind:cancle="cancleCallBack_02"

scrollType="normal"

listData="{{listData_02}}"

indicatorStyle="height:80px"

maskStyle=""

titleStyle=""

sureStyle="color:blue;font-size:16px;"

cancelStyle="color:red;font-size:16px;"

chooseItemTextStyle="color:green;"

pickerHeaderStyle="background:#eee;"

titleText="自定义标题"

cancelText="cancle"

sureText="sure"

>

更多使用方式,可自行参考demo

参数说明

name

type

required

default

Description

isShowPicker

Boolean

false

显示隐藏picker,需要在bindsure和bindcancle中手动设为false

scrollType

String

'normal'

picker类型,'normal':非联动picker 'link':联动picker

listData

Array

[]

picker数据源,是一个数组,scrollType='normal'时,数组成员也是数组,数组成员数量就是picker列数;scrollType='link'时,listData格式需为固定格式

keyWordsOfShow

String

'name'

当listData的的每一个成员,是由对象组成的数组时,keyWordsOfShow作为对象的key,其value用于显示;或者当picker='link'时,供显示的key

defaultPickData

Array

[]

设置picker默认选择

indicatorStyle

String

''

设置选择器中间选中框的样式(详见picker-view)如,每一行的高度 view

maskStyle

String

''

设置蒙层的样式(详见picker-view) view

titleStyle

String

''

标题栏标题样式 view

sureStyle

String

''

标题栏确定样式 text

cancelStyle

String

''

标题栏取消样式 text

chooseItemTextStyle

Array

''

设置picker列表文案样式 text

pickerHeaderStyle

String

''

标题栏样式 view

titleText

String

''

标题文案

cancelText

String

''

取消按钮文案

sureText

String

''

确定按钮文案

bindsure

EventHandle

点击确定触发的事件,event.detail = value

bindcancle

EventHandle

点击取消触发的事件

注意

必须在bindsure和bindcancle中将isShowPicker设为false。

scrollType='normal'时,listData数据结构代码如下;当第二维数组的成员为对象时,需指定用于显示的key(通过keyWordsOfShow属性),默认为'name'。若要设置默认选中,设置 defaultPickData=[第一选中的列索引,第二选中的列索引,第三选中的列索引,...],如[1,2,1]

//listData数据结构

[

[对象或者普通类型],

[对象或者普通类型],

[对象或者普通类型],

...

]

scrollType='link'时,listData数据结构代码如下,"children"字段为必须;'用于显示的key'对应keyWordsOfShow属性。若要设置默认选中,设置 defaultPickData = [{第一列选中项对应的唯一key:value}, {第二列选中项对应的唯一key:value}, {第三列选中项对应的唯一key:value},...],如[{id:2},{id:21},{id:213}]

//listData数据结构

[

{

用于显示的key:'',

children:[

{

用于显示的key:'',

children:[

{

用于显示的key:'',

children:[

],

其他属性...,

}

],

其他属性...,

},

...

],

其他属性...,

},

...

]

更新日志

0.0.1 初始化项目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微信小程序自定义Picker选择器是一个内置组件,它可以方便地实现单项选择功能。使用自定义Picker选择器,用户可以从列表中选择一个选项,以便进行相关操作。 实现自定义Picker选择器的步骤如下: 1. 在所需页面的wxml文件中,添加Picker组件。例如,可以使用以下代码创建一个Picker选择器: ``` <view> <text>请选择:</text> <picker mode="selector" range="{{array}}" bindchange="bindPickerChange"> <view class="picker"> {{array[index]}} </view> </picker> </view> ``` 在上述代码中,`array` 是一个包含所有选项的数组,`index` 是选择项的下标。 2. 在对应页面的js文件中,对Picker组件的选择事件进行处理。通过`bindchange`绑定一个事件处理函数,当用户选择一个选项时,该函数会被触发。 ```javascript Page({ data: { array: ['选项1', '选项2', '选项3', '选项4'], index: 0 }, bindPickerChange: function(e) { this.setData({ index: e.detail.value }) } }) ``` 在上述代码中,`data` 对象中的 `array` 为选项数组,`index` 为当前选中的选项下标。通过 `bindPickerChange` 函数修改 `index` 可以实现选项的切换。 3. 根据Picker选择器的值进行相应操作。可以在 `bindPickerChange` 函数中添加逻辑,根据选择的选项值进行相应的处理操作,例如显示选中的选项、更新页面数据等。 通过以上步骤,就可以轻松地在微信小程序中实现自定义Picker选择器的单项选择功能。用户可以方便地从给定的选项列表中选择一个选项,以便进行后续操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值