picker-view 小程序端value值不生效

 修改成功后代码:日期选择组件

解决方法:在data(){return{ }} 之前把所需要数据准备好

<template>
	<picker-view :value="datepick.value" @change="bindChange" :indicator-style="datepick.indicatorStyle" class="picker-view">
	    <picker-view-column>
	        <view class="item" v-for="(item,index) in datepick.years" :key="index">
				{{item}}年
			</view>
	    </picker-view-column>
	    <picker-view-column>
	        <view class="item" v-for="(item,index) in datepick.months" :key="index">
				{{item}}月
			</view>
	    </picker-view-column>
	    <picker-view-column>
	        <view class="item" v-for="(item,index) in datepick.days" :key="index">
				{{item}}日
			</view>
	    </picker-view-column>
	</picker-view>
</template>

<script>
	var datepick={
		years:[],
		months:[],
		days:[],
		value:[0,0,0],
		indicatorStyle:`height:50px`
	}
	let date = new Date()
	let year= date.getFullYear()
	let month =date.getMonth()
	let day = date.getDate()
	for (let i = 1978; i <= year+10; i++) {
	    datepick.years.push(i)
	}
	for (let i = 1; i <= 12; i++) {
	    datepick.months.push(i)
	}
	for (let i = 1; i <= 31; i++) {
	    datepick.days.push(i)
	}
	datepick.value=[(year- 1978), month, day]
	console.log(datepick.value);
	export default {
		name:"pickedate",
		data() {
			return {
				bridate:'',
				datepick:datepick,
			};
		},
		mounted() {
			this.initDate()
		},
		methods:{
			// 单列选择
			bindChange(e){
				let val = e.detail.value
				this.bridate=this.datepick.years[val[0]]+"-"+this.datepick.months[val[1]]+"-"+this.datepick.days[val[2]]+''
				this.$emit('confirm', this.bridate)
			},
			initDate(){
				
			},
		}
	}
</script>

<style scoped lang="scss">
.picker-view {
	height: 600rpx;
	margin-top: 20rpx;
	background-color: #fff;
	.item {
		height: 50px;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}
}
</style>

网上找了一些没认真看 有兴趣自己去看吧

(53条消息) 微信小程序 picker-view 的value不起作用_叶子兔的博客-CSDN博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
微信小程序的原生 picker-view 是一种可以进行滚动选择的组件。它可以在小程序中展示一个滚动的选择器,用户可以通过上下滑动来选择需要的选项。 使用 picker-view 的步骤如下: 1. 在 wxml 文件中,通过<picker-view>标签来定义一个 picker-view 组件,可以通过style属性来设置它的样式。 2. 在 js 文件中,首先需要通过页面的setData()方法来初始化 picker-view 组件的数据源,使用数组的形式来表示选项。 3. 在 wxml 文件中,通过<picker-view-column>标签来定义 picker-view 中的每一列。可以使用wx:for属性来循环渲染每一列的选项。 4. 在 js 文件中,可以通过 onLoad()或者onShow()等生命周期方法来初始化 picker-view 组件的选中项。可以通过setData()方法更新 selected 属性的来改变选中项。 5. 在 wxml 文件中,通过<view>标签来定义一个按钮或者其他交互元素,通过bindtap属性来绑定事件处理函数。 6. 在 js 文件中,实现事件处理函数,并通过setData()方法更新 selected 以改变选中项。 7. 可以通过onPickerChange()等事件来监听 picker-view 的选中项改变的事件,并实现相应的逻辑。 需要注意的是,picker-view 组件的数组类型数据源,每一项都需要有value和text两个属性,分别表示选项的和显示文本。 通过以上步骤,就可以在微信小程序中使用原生 picker-view 组件实现选择器的功能。用户可以滚动选择选项,并通过自定义的事件处理函数来获取选中项的

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值