支付寶小程序表單組件 底部彈起的滾動選擇器·Picker

2020-09-10 11:27 更新

選擇器包括一個或多個不同值的可滾動列表,每個值可以在視圖的中心以較暗的文本形式顯示。當用戶正在編輯字段或點擊菜單時,選擇器通常會從屏幕底部彈起(iOS)。

注意:

  • picker 組件在 iOS 系統(tǒng)中從底部彈出,在安卓系統(tǒng)中從中間彈出。
  • picker 組件不支持多列選擇,可以使用 picker-view 組件。
  • 通過 my.multiLevelSelect 調(diào)用級聯(lián)選擇。
  • 可以通過 my.datePicker 打開日期選擇列表。

掃碼體驗

qrcode for picker

示例代碼

<!-- API-DEMO page/component/picker/picker.axml -->
<view class="page">
  <view class="page-description">選擇器</view>
  <view class="page-section">
    <picker onChange="bindPickerChange" value="{{index}}" range="{{array}}">
      <view class="row">
        <view class="row-title">地區(qū)選擇器</view>
        <view class="row-extra">當前選擇:{{array[index]}}</view>
        <image class="row-arrow" src="/image/arrowright.png" mode="aspectFill" />
      </view>
    </picker>
  </view>


  <view class="page-section">
    <picker onChange="bindObjPickerChange" value="{{arrIndex}}" range="{{objectArray}}" range-key="name">
      <view class="row">
        <view class="row-title">ObjectArray</view>
        <view class="row-extra">當前選擇:{{objectArray[arrIndex].name}}</view>
        <image class="row-arrow" src="/image/arrowright.png" mode="aspectFill" />
      </view>
    </picker>
  </view>
</view>
// API-DEMO page/component/picker/picker.js
Page({
  data: {
    array: ['中國', '美國', '巴西', '日本'],
    objectArray: [
      {
        id: 0,
        name: '美國',
      },
      {
        id: 1,
        name: '中國',
      },
      {
        id: 2,
        name: '巴西',
      },
      {
        id: 3,
        name: '日本',
      },
    ],
    arrIndex: 0,
    index: 0
  },
  bindPickerChange(e) {
    console.log('picker發(fā)送選擇改變,攜帶值為', e.detail.value);
    this.setData({
      index: e.detail.value,
    });
  },
  bindObjPickerChange(e) {
    console.log('picker發(fā)送選擇改變,攜帶值為', e.detail.value);
    this.setData({
      arrIndex: e.detail.value,
    });
  },
});
/* API-DEMO page/component/picker/picker.acss */
.date-radio {
  padding: 26rpx;
}


.date-radio label + label {
  margin-left: 20rpx;
}




.row {
  display: flex;
  align-items: center;
  padding: 0 30rpx;
}


.row-title {
  flex: 1;
  padding-top: 28rpx;
  padding-bottom: 28rpx;
  font-size: 34rpx;
  color: #000;
}


.row-extra {
  flex-basis: initial;
  font-size: 32rpx;
  color: #888;
}


.row-arrow {
  width: 32rpx;
  height: 32rpx;
  margin-left: 16rpx;
}

屬性

屬性 類型 默認值 描述
title String - 標題。
range String[] / Object[] [] String[] 時表示可選擇的字符串列表;Object[] 時需指定 range-key 表示可選擇的字段。
range-key String - 當 range 是一個 Object[] 時,通過 range-key 來指定 Object 中 key 的值作為選擇器顯示內(nèi)容。
value Number - 表示選擇了 range 中的第幾個(下標從 0 開始)。
onChange EventHandle - value 改變時觸發(fā),event.detail = {value: value}。
disabled Boolean false 是否禁用。
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號