el-autocomplete下拉框数据必须以value作为键名的问题 其实可以随便命名

如果后台的接口已经定好了 键名 比如是 data 而不是 value 那么 选中后 输入框中不会显示已选择的内容
可能很多人的想法就是改后端的接口 但如果这个接口已经被很多人用了 那么改键名 可能不现实
其实解决很简单 代码如下

     <el-autocomplete
        v-model="markWord"
        :fetch-suggestions="querySearchAsync"
        placeholder="请输入标准词"
        @select="handleSelect"
        :trigger-on-focus="false"
      >
        <template slot-scope="{ item }">
          <div class="name">{{ item.warn }}</div>
          <div class="name" style="color:green">{{ item.value=item.term }}</div>
        </template>
      </el-autocomplete>
   
阅读 13k
2 个回答

value-key 属性。。。我也是搞了半天才发现有这个东西

querySearchAsync的时候把取到的数据map一下,
data.content = data.content.map(obj => {

return {
  ...obj,
  value: obj.term
}

})
把处理后的数据塞回去

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