uni-app 插件讨论 如何自定义预约时间选择器“你的可爱多呀”的时间段

发布于 1周前 作者 songsunli 来自 Uni-App

uni-app 插件讨论 如何自定义预约时间选择器“你的可爱多呀”的时间段

如何自定义时间段

  1. 如何自定义时间段嘞。例如08:00-12:00,14:30-18:00。

  2. 为什么组件的第一个时间段默认禁用呢。一直找不到怎么取消禁用。

1 回复

在uni-app中自定义预约时间选择器,可以通过结合<picker>组件和自定义逻辑来实现。以下是一个简单的示例,展示如何创建一个自定义时间段选择器,用户可以在特定时间段内选择预约时间。

首先,我们需要定义一个时间段数组,这些时间段将作为<picker>组件的选项。然后,我们将使用<picker>组件来显示这些选项,并允许用户进行选择。

<template>
  <view>
    <picker mode="selector" :range="timeRanges" @change="bindPickerChange">
      <view class="picker">
        {{selectedTimeRange}}
      </view>
    </picker>
  </view>
</template>

<script>
export default {
  data() {
    return {
      // 定义时间段,这里以30分钟为间隔为例
      timeRanges: [
        '09:00-09:30', '09:30-10:00', '10:00-10:30', '10:30-11:00',
        '11:00-11:30', '11:30-12:00', '12:00-12:30', '12:30-13:00',
        // 继续添加其他时间段...
      ],
      selectedTimeRange: '请选择时间段' // 默认显示文字
    };
  },
  methods: {
    bindPickerChange(e) {
      const index = e.detail.value;
      this.selectedTimeRange = this.timeRanges[index];
      console.log('选中的时间段:', this.selectedTimeRange);
    }
  }
};
</script>

<style scoped>
.picker {
  padding: 20px;
  font-size: 16px;
  border: 1px solid #ddd;
  background-color: #fff;
  text-align: center;
}
</style>

在这个示例中,timeRanges数组包含了所有可选的时间段。<picker>组件的mode属性设置为selector,表示这是一个选择器组件。range属性绑定到timeRanges数组,@change事件监听器绑定到bindPickerChange方法,该方法在用户选择时间段时被调用。

bindPickerChange方法接收一个事件对象,该对象的detail.value属性包含了用户选择的索引。我们使用这个索引从timeRanges数组中获取选中的时间段,并将其赋值给selectedTimeRange数据属性,同时在控制台中打印选中的时间段。

这个示例可以根据实际需求进行调整,例如,可以增加或减少时间段,或者调整时间间隔。通过这种方式,你可以轻松地在uni-app中实现一个自定义的预约时间选择器。

回到顶部