uni-app 插件讨论 如何自定义预约时间选择器“你的可爱多呀”的时间段
uni-app 插件讨论 如何自定义预约时间选择器“你的可爱多呀”的时间段
如何自定义时间段
-
如何自定义时间段嘞。例如08:00-12:00,14:30-18:00。
-
为什么组件的第一个时间段默认禁用呢。一直找不到怎么取消禁用。
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中实现一个自定义的预约时间选择器。