element-ui的el-select怎么根据后台返回的value显示对应的label值呢?

el-option绑定的数据类型是object(不是array),页面数据绑定如下:

<el-select v-model="form.language" placeholder="请选择语言"  size="small" clearable>
  <el-option
    v-for="(value, key) in languageList"
    :key="key"
    :label="value"
    :value="key">
   </el-option>
 </el-select>

我在编辑数据页面希望用后台传回的value值(也就是object的key值)来回填select的数据,但是我给v-model赋value的值后select视图的值是value,而不是label,正常来说下面应该显示中文而不是10,该怎么做?

clipboard.png

阅读 35.8k
4 个回答

已解决,类型错误,应该是string而不是number。。。。

新手上路,请多包涵

刚刚爬出了这个坑,楼主虽然说了类型错误但是没反应过来怎么解决的,我这里说一下。修改方案大致有两种,一是下拉的option里面的value定义成0,1,这是整型,不能定义成'0','1'字符串,如果要定义成字符串,后台需要返回的也是字符串,如果定义成字符串,后台返回的又是整型,需要使用toString转一下。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题