vue2.0,element ui。下拉选择数据传递问题。
一个简单的城市选择器

组件代码:
父组件代码:
有一个按钮(点击使用)可点击使用vuex赋值以后

export const getProvinceValue = state => {
return state.provinceValue
}
export const setProvinceValue = ({commit}) => {
commit('SETPROVINCEVAlUE')
}
const mutations = {
SETPROVINCEVAlUE(state) {
state.provinceValue = 1
}
}
可达到效果

问题在于,由于用了
props: ['provinceValue','cityValue']
在父组件再次更改下拉框会报错(我知道报错意思是不要在子组件改变)

简单说,就是下拉框变得无法使用,只能赋值。问题困扰太久,求大神帮助。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
props的值不要直接绑定到下拉框,组件渲染的时候取props的值赋值给data中的属性,下拉框的v-model来自于data;你选择下拉框的选项时会去更改
props的值,所以会报错;手机打字不方便,不知道你能不能看懂。
补充说明:当然为了保证外面修改
props值的时候,内部的下拉框组件能正确的显示,还需要添加相应的watch,这个不赘述了另外你那个change事件用switch…case…真的好么
在vue2中严禁子组件直接修改父组件的数据,因为单向数据流。。
可以通过事件通知父组件进行修改,或者,通过回调。我一般用回调。
父组件
在子组件中加change事件,然后直接回掉这个