uniAPP开发 使用Vant下拉菜单,动态更新数据

uniapp转微信小程序开发,使用vant下拉菜单和picker组件,实现动态设置选项

实现以上效果

<van-dropdown-item title="部门" @open="getDepartmentName">
			<van-picker
				show-toolbar
				:columns="columns"
				@confirm="onConfirm"
				@change="onChange"
			/>  
		  </van-dropdown-item>
data() {
			return {
		
				value1: 0,
				value2: 'a',
				columns: [
				      {
				        values: ['国家级','省级','市级','区/镇级'],
				        className: 'column1',
				      },
				      {
				        values: ['1','2'],
				        className: 'column2',
				        defaultIndex: 2,
				      },
				],
			}
		},
  1.  先在mounted中请求默认选中的数据:
    computed:{
    	...mapGetters('home',['departNameList'])
    },
    mounted() {
    	let data = {
    		"policyRank":`${this.columns[0].values[0]}`
    	 }
    	this.$store.dispatch('home/getDepartmentList',data)
    },
    methods: {
    	getDepartmentName(){
    	  console.log('准备发请求')
    	  this.columns[1].values=this.departNameList
    	},
    }

  2. 触发picker的change事件,再发送请求,获取右侧的数据
    onChange(event) {
    			    const { picker, value, index } = event.detail;
    				console.log(value[0])
    				let data = {
    					"policyRank":`${value[0]}`
    				}
    				this.$store.dispatch('home/getDepartmentList',data)
    			    picker.setColumnValues(1, this.departNameList);
    			  },

  3. 监听获取的数据,在computed更改是,将数据赋值给column
    watch:{
    			departNameList:{
    				handler(newQuestion, oldQuestion){
    					this.columns[1].values = newQuestion
    				}
    			}
    		},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值