12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- <template>
- <view>
- <page-head :title="title"></page-head>
- <view class="uni-padding-wrap">
- <view class="uni-title">
- 日期:{{year}}年{{month}}月{{day}}日
- </view>
- </view>
- <picker-view v-if="visible" :indicator-style="indicatorStyle" :mask-style="maskStyle" :value="value" @change="bindChange">
- <picker-view-column>
- <view class="item" v-for="(item,index) in years" :key="index">{{item}}年</view>
- </picker-view-column>
- <picker-view-column>
- <view class="item" v-for="(item,index) in months" :key="index">{{item}}月</view>
- </picker-view-column>
- <picker-view-column>
- <view class="item" v-for="(item,index) in days" :key="index">{{item}}日</view>
- </picker-view-column>
- </picker-view>
- </view>
- </template>
- <script>
- export default {
- data () {
- const date = new Date()
- const years = []
- const year = date.getFullYear()
- const months = []
- const month = date.getMonth() + 1
- const days = []
- const day = date.getDate()
- for (let i = 1990; i <= date.getFullYear(); i++) {
- years.push(i)
- }
- for (let i = 1; i <= 12; i++) {
- months.push(i)
- }
- for (let i = 1; i <= 31; i++) {
- days.push(i)
- }
- return {
- title: 'picker-view',
- years,
- year,
- months,
- month,
- days,
- day,
- value: [9999, month - 1, day - 1],
- /**
- * 解决动态设置indicator-style不生效的问题
- */
- visible: true,
- // indicatorStyle: `height: ${Math.round(uni.getSystemInfoSync().screenWidth/(750/100))}px;`
- indicatorStyle: `height: 50px;`,
- // #ifdef MP-KUAISHOU
- maskStyle: "padding:10px 0"
- // #endif
- // #ifndef MP-KUAISHOU
- maskStyle: ""
- // #endif
- }
- },
- methods: {
- bindChange (e) {
- const val = e.detail.value
- this.year = this.years[val[0]]
- this.month = this.months[val[1]]
- this.day = this.days[val[2]]
- }
- }
- }
- </script>
- <style>
- picker-view {
- width: 100%;
- height: 600rpx;
- margin-top:20rpx;
- }
- .item {
- line-height: 100rpx;
- text-align: center;
- }
- </style>
|