内容:
模糊匹配input内容,用vue实现输入建议框,完善基本交互问题。
效果如下:
具体分析:
- 将
input
的关键词进行模糊匹配,当input对焦focus
且匹配个数不为0的情况下,制作该输入建议框,并浮动在最顶层。 - 该列表
<ol>
的每一选项<li>
都绑定点击事件click
,选中后填充相关信息 - 点击其他空白处,即input框失焦
blur
时,该输入建议框应隐藏不予显示。但点击输入建议框时,input虽然失焦,但应显示该浮动窗口。
步骤和注意事项:
现在我们来看看如何实现这个单元格呢,首先在标签<td>
中添加<input>
框和一个<div>
盒子,上下对齐,该盒子内部再添加列表<ol>
。这里的盒子意义在于,为了让该建议框浮动在最顶层,需要套一个父组件<div>
,设置#floatOl_fa
的样式,再结合子组件<ol>
,设置#floatOl
样式,来达到浮动效果。
样式:
<style>
/* 父组件floatOl_fa 保证浮动在顶层 */
#floatOl_fa {
position: absolute;
color: rgba(255, 255, 255, 0);
}
#floatOl {
width: auto;
max-height: 200px;
min-width: 120px;
overflow-y: auto;
/* overflow-x: hidden; */
border: 1px solid rgb(24, 134, 224);
border-radius: 4px;
background-color: white;
color: black;
display: inline-block;
list-style-type: none;
padding: 8px 5px 8px 10px;
margin: 0;
}
/* 浮动列表样式 */
ol li:hover {