<el-form-item label="公司所在城市变更后:"> <el-select v-model="list.vg_cityidname" placeholder="请选择" @change="districtData(list.vg_cityidname)" clearable> <el-option v-for="item in getCity" :key="item.vg_cityid" :label="item.vg_name" :value="item.vg_cityid" /> </el-select> </el-form-item> 如果当前选择项发生变化就把id传过去,但v-model绑定了一个初始值,这个初始值是一个name,如果不修改直接提交就会报错
时间: 2023-07-19 13:52:30 浏览: 65
Vue + Element-ui的下拉框el-select获取额外参数详解
是的,如果直接提交表单,会将城市名称作为参数传递给后台,导致报错。解决这个问题的方法有两种:
1. 将 v-model 绑定的变量修改为城市 id,这样提交表单时就会传递城市 id 作为参数。可以将 list.vg_cityidname 修改为 list.vg_cityid。需要注意的是,修改 v-model 绑定的变量后,需要同步修改 @change 事件中传递的参数,即将 list.vg_cityidname 修改为 list.vg_cityid。
2. 在提交表单前,将 list.vg_cityidname 转换为对应的城市 id。可以通过在提交表单前的处理函数中,根据 list.vg_cityidname 在 getCity 数组中查找对应的城市 id,并将其赋值给 list.vg_cityid,然后再提交表单。需要注意的是,如果找不到对应的城市 id,需要进行错误处理。
阅读全文