好看的微信小程序日期组件
时间: 2023-09-28 10:10:39 浏览: 231
以下是几个好看的微信小程序日期组件:
1. Wux Weapp:这是一款开源的小程序 UI 组件库,其中包含了一个美观的日期选择器组件。
2. 小程序之家:这是一个提供小程序开发资源的网站,其中包含了多个日期选择器组件,可以根据自己的需求选择。
3. ColorUI:这是一款基于小程序的 CSS 框架,其中包含了多个 UI 组件,也有日期选择器组件可供使用。
4. weui:这是一款由腾讯开发的 UI 组件库,其中包含了一个简洁美观的日期选择器组件。
以上是几个较为常用且好看的微信小程序日期组件,希望能对你有所帮助。
相关问题
微信小程序日期时间组件的封装
微信小程序提供了日期时间选择器组件`picker`和日历组件`calendar`,但如果需要自定义样式或者功能,可以考虑封装一个日期时间组件。
以下是一个简单的日期时间组件的封装示例:
1. 在`/components`目录下创建一个`datetime-picker`文件夹,创建`datetime-picker.wxml`、`datetime-picker.wxss`、`datetime-picker.js`和`datetime-picker.json`四个文件。
2. 在`datetime-picker.json`中定义组件的属性:
```json
{
"component": true,
"usingComponents": {},
"properties": {
"startDate": {
"type": String,
"value": "2023-02-15",
},
"endDate": {
"type": String,
"value": "2023-02-20",
},
"startTime": {
"type": String,
"value": "00:00",
},
"endTime": {
"type": String,
"value": "23:59",
},
"defaultDate": {
"type": String,
"value": "",
},
"defaultTime": {
"type": String,
"value": "",
},
"format": {
"type": String,
"value": "datetime",
},
"showTime": {
"type": Boolean,
"value": true,
},
"showDate": {
"type": Boolean,
"value": true,
},
"startPlaceholder": {
"type": String,
"value": "开始时间",
},
"endPlaceholder": {
"type": String,
"value": "结束时间",
},
"bind:change": {
"type": Function,
"value": "",
}
},
"options": {
"styleIsolation": "apply-shared"
}
}
```
上述属性中:
- `startDate`和`endDate`为日期范围,用于限制可选日期的范围;
- `startTime`和`endTime`为时间范围,用于限制可选时间的范围;
- `defaultDate`和`defaultTime`为默认值;
- `format`为显示格式,支持`datetime`、`date`和`time`三种格式;
- `showTime`和`showDate`分别控制是否显示时间和日期选择器;
- `startPlaceholder`和`endPlaceholder`为开始时间和结束时间的占位符;
- `bind:change`为选择器值变化时的回调函数。
3. 在`datetime-picker.wxml`中定义选择器组件:
```html
<view class="datetime-picker">
<view wx:if="{{showDate}}" class="datetime-picker-item">
<picker mode="date" start="{{startDate}}" end="{{endDate}}" value="{{selectedDate}}" bindchange="onDateChange">
<view class="datetime-picker-value">
<text wx:if="{{selectedDate}}">{{selectedDate}}</text>
<text wx:else>{{startPlaceholder}}</text>
</view>
</picker>
</view>
<view wx:if="{{showTime}}" class="datetime-picker-item">
<picker mode="time" start="{{startTime}}" end="{{endTime}}" value="{{selectedTime}}" bindchange="onTimeChange">
<view class="datetime-picker-value">
<text wx
封装个微信小程序日期时间组件
好的,以下是一个简单的微信小程序日期时间组件的封装示例,它包括日期选择器和时间选择器:
1. 在小程序的 components 目录下创建一个名为 "datetime-picker" 的文件夹,并在该文件夹下创建一个名为 "datetime-picker.wxml" 的文件。
2. 在 datetime-picker.wxml 文件中,编写以下代码:
```html
<view class="datetime-picker">
<picker mode="date" value="{{value}}" bindchange="bindDateChange">
<view class="picker">
{{year}}年{{month}}月{{day}}日
</view>
</picker>
<picker mode="time" value="{{value}}" bindchange="bindTimeChange">
<view class="picker">
{{hour}}时{{minute}}分
</view>
</picker>
</view>
```
3. 在 datetime-picker.wxml 文件同级目录下创建一个名为 "datetime-picker.js" 的文件,并编写以下代码:
```javascript
Component({
/**
* 组件的属性列表
*/
properties: {
value: {
type: String,
value: ''
}
},
/**
* 组件的初始数据
*/
data: {
year: '',
month: '',
day: '',
hour: '',
minute: '',
},
/**
* 组件的方法列表
*/
methods: {
bindDateChange: function (e) {
const value = e.detail.value;
const date = new Date(value);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
this.setData({
year,
month,
day
})
this.triggerEvent('change', {
value: this.data.year + '-' + this.data.month + '-' + this.data.day + ' ' + this.data.hour + ':' + this.data.minute
});
},
bindTimeChange: function (e) {
const value = e.detail.value;
const date = new Date(value);
const hour = date.getHours();
const minute = date.getMinutes();
this.setData({
hour,
minute
})
this.triggerEvent('change', {
value: this.data.year + '-' + this.data.month + '-' + this.data.day + ' ' + this.data.hour + ':' + this.data.minute
});
},
},
ready: function () {
const value = this.properties.value;
if (value) {
const date = new Date(value);
const year = date.getFullYear();
const month = date.getMonth() + 1;
const day = date.getDate();
const hour = date.getHours();
const minute = date.getMinutes();
this.setData({
year,
month,
day,
hour,
minute
})
} else {
const now = new Date();
const year = now.getFullYear();
const month = now.getMonth() + 1;
const day = now.getDate();
const hour = now.getHours();
const minute = now.getMinutes();
this.setData({
year,
month,
day,
hour,
minute
})
}
}
})
```
4. 在 datetime-picker 文件夹下创建一个名为 "datetime-picker.wxss" 的文件,并编写以下代码:
```css
.datetime-picker {
display: flex;
justify-content: space-between;
align-items: center;
}
.picker {
height: 100%;
display: flex;
justify-content:
阅读全文