vue3 级联操作下拉框

watch([() => param.sort, () => param.pageIndex, () => param.dep], ([newSort, newPageIndex, newDep], [oldSort, oldPageIndex, oldDep]) => {
            if (newSort !== oldSort || newPageIndex !== oldPageIndex) {
                //todo 重新获取列表
               
            } else if (newDepart !== oldDepart) {
                // 重置选中值
                param.personCode = ""; 
                getPerson()
            }
});

const getPerson=()=>{ 
            selectData.person =[{ name: "请选择人员", val: "" }];
            request.getPersonList( {type:3,departMent:param.dep} ).then(res=>{                
                if(res.status){
                    res.list.forEach(item=>{
                        selectData.person.push({
                            name:item.name,
                            val:item.name
                        })
                    })                                              
                } 
           })                      
}

请注意getPerson方法没有传递参数,如果传参,请注意下面写法selectData.person不能当作参数传入进来!!!!

 watch([() => param.sort, () => param.pageIndex, () => param.dept], ([newSort, newPageIndex, newDep], [oldSort, oldPageIndex, oldDep]) => {
            if (newSort !== oldSort || newPageIndex !== oldPageIndex) {
                //todo 加载列表
            } else if (newDep !== oldDep) {
                param.personCode = ""; // 重置人员选中值
                wParam.departMent=newDepart;
                getPerson(wParam);
            }
});

 const bindPersonParam=(info)=>{ 
            selectData.person =[{ name: "请选择人员", val: "" }];
            request.getPersonList( info ).then(res=>{                
                if(res.status){
                    res.list.forEach(item=>{
                        selectData.person.push({
                            name:item.name,
                            val:item.name
                        })
                    })                                              
                } 
            })                      
}

const wParam=reactive({
            type:3,
            departMent:''
})

其他方法监测变量:

watch([()=>param.sort, ()=>param.pageIndex, ()=>param.dept], (newValue, oldValue) => {
            Object.keys(newValue).forEach((key) => {
                if (JSON.stringify(newValue[key]) !== JSON.stringify(oldValue[key])) {
                  console.log(`Object ${key} changed.`);
                  
                }
              });
})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值