热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

elementui组件elautocomplete联想搜索

autocomplete是一个可带输入建议的输入框组件,fetch-suggestions是一个返回输入建议的方法属性,如querySearch(que

autocomplete 是一个可带输入建议的输入框组件,fetch-suggestions 是一个返回输入建议的方法属性,如 querySearch(queryString, cb),在该方法中你可以在你的输入建议数据准备好时通过 cb(data) 返回到 autocomplete 组件中。

使用之前建议参考官方文档
input根据输入内容提供对应的输入建议https://element.eleme.cn/#/zh-CN/component/input

使用组件遇到的问题

  • 输入建议回调的数据结构
  • 增加回车触发事件
  • 规则校验不生效
  • 表单只有一个input,回车事件时需要禁止默认提交表单


输入建议回调的数据结构

//官网使用列子
>


  • 问题:获取到后端返回的数组,并将数组传入作为 results 传入 callback 后,焦点放在 输入框 上的时候,并未出现任何内容,只出现了一个不完整的空白框。
  • 原因:默认绑定data:[] 中的 value 字段。
  • 解决办法:(看了好多方法,其实这里不需要很麻烦的转换数据结构)官网提供了属性value-key,赋值成你需要的字段即可。
    在这里插入图片描述

//我这里需要的字段名称为companyName


增加回车触发事件

  • 问题:@keydown.enter事件触发不了
  • 原因:element-ui自身封装了一层input标签之后,把原来的事件隐藏了,加上.native可以监听到组件根元素的原生事件
  • 解决方法:使用@keydown.native.enter

规则校验不生效

在这里插入图片描述

一开始触发条件使用了blur,改成change就好了,具体原因正在考察中。

searchRule: {searchCompany: [{required: true, message: '企业不能为空', trigger: 'change'}],},

表单只有一个input,回车事件时需要禁止默认提交表单

在这里插入图片描述

  • 问题:表单只有一个input,回车默认提交表单。导致第一次回车就会刷新页面,再次回车,才出发回车事件。
  • 解决:当一个 form 元素中只有一个输入框时,在该输入框中按下回车会提交该表单。如果希望阻止这一默认行为,可以在标签上添加 @submit.native.prevent。或者为表单元素增加属性 onSubmit="return false"。

其他问题遇到继续补充。


推荐阅读
author-avatar
dmcm0008
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有