uni-app 时间段选择器

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

uni-app 时间段选择器

2 回复

有偿,联系QQ:1559653449


在uni-app中实现一个时间段选择器,你可以利用<picker>组件并结合JavaScript逻辑来实现。以下是一个简单的代码示例,展示了如何创建一个时间段选择器,允许用户选择一个开始时间和一个结束时间。

首先,在你的页面的<template>部分,定义两个<picker>组件,一个用于选择开始时间,另一个用于选择结束时间:

<template>
  <view class="container">
    <view>选择开始时间:</view>
    <picker mode="time" :value="startTime" @change="onStartTimeChange">
      <view class="picker">{{ formatTime(startTime) }}</view>
    </picker>
    <view>选择结束时间:</view>
    <picker mode="time" :value="endTime" @change="onEndTimeChange">
      <view class="picker">{{ formatTime(endTime) }}</view>
    </picker>
    <view>
      选择的时间段: {{ formatTime(startTime) }} - {{ formatTime(endTime) }}
    </view>
  </view>
</template>

接下来,在<script>部分,定义数据绑定和事件处理函数:

<script>
export default {
  data() {
    return {
      startTime: '00:00', // 默认开始时间
      endTime: '23:59', // 默认结束时间
    };
  },
  methods: {
    onStartTimeChange(e) {
      this.startTime = e.detail.value;
    },
    onEndTimeChange(e) {
      this.endTime = e.detail.value;
    },
    formatTime(time) {
      const [hour, minute] = time.split(':');
      return `${hour.padStart(2, '0')}:${minute.padStart(2, '0')}`;
    },
  },
};
</script>

<style>部分,添加一些简单的样式:

<style scoped>
.container {
  padding: 20px;
}
.picker {
  padding: 10px;
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  margin-top: 10px;
}
</style>

这个示例使用了uni-app的<picker>组件的time模式来让用户选择时间。startTimeendTime数据属性用于存储用户选择的时间。onStartTimeChangeonEndTimeChange方法在用户选择时间时被调用,更新对应的数据属性。formatTime方法用于格式化时间字符串,确保显示时小时和分钟都是两位数。

通过这种方式,你可以轻松地在uni-app中实现一个时间段选择器,让用户能够方便地选择开始和结束时间。这个示例可以根据实际需求进行进一步的扩展和定制。

回到顶部