前端小白002: 关于picker-view的初始值value的设置

本文详细介绍了在Vue和小程序中如何正确设置picker-view组件的初始值。在Vue中,通过监听数组变化并使用setTimeout来延迟设置value属性;在小程序中,则直接在onLoad函数中设置value属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于picker-view的初始值value的设置

1、在vue里设置picker-view初始值

picker-view 的初始值需要在元素生成后设置,如果是异步获取数据的,需要监听绑定的数组,等待完成后使用一次性定时器setTimeOut

<picker-view :value="pickerValue">
    <picker-view-column>
        <view v-for="(item,index) in list" :key="index">{{item}}</view>
    </picker-view-column>
</picker-view>

直接使用

data() {
	return {
		pickerValue: [0],
		list: []
	}
},
watch: {
	list(n) {
		// 初始化picker-view数据
		this.initFunc()
		// 设置picker-view初始值value
		let timer = setTimeOut(() => {
			this.pickerValue = [1]
			clearTimeOut(timer)
			timer = null
		}, 0)
	}
},
methods: {
	getPickerList() {
		// 获取数据
		this.list = [1, 2, 3, 4, 5]
	},
	initFunc() {
		// 对初始数据进行修改, 不用直接跳过该阶段
	}
},
created() {
	// 初始化数据
	this.getPickerList()
}

组件传值

props: {
	value: {
		type: Number,
		default: 0
	},
	list: {
		type: Array,
		default: []
	}
},
data() {
	return {
		pickerValue: [0]
	}
},
watch: {
	list(n) {
		// 初始化picker-view数据
		this.initFunc()
		// 设置picker-view初始值value
		let timer = setTimeOut(() => {
			this.pickerValue = [this.$props.value]
			clearTimeOut(timer)
			timer = null
		}, 0)
	}
},
methods: {
	initFunc(){
		// 对初始数据进行修改, 不用直接跳过该阶段
	}
}

2、在小程序上设置picker-view初始值

<picker-view value="{{value}}">
    <picker-view-column>
      <view wx:for="{{list}}" wx:key="index">{{item}}</view>
    </picker-view-column>
  </picker-view>

javascript

data: {
	list: [],
	value: [0]
},
onLoad() {
	this.setData({
		// 除开设置初始值的数据,包括绑定在picker-view的数组list
	})

	this.setData({
		// 设置picker-view初始值的
		value: [1]
	})
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值