模拟实现select效果,可搜索

在这里插入图片描述
html

<span>所属线路:</span>
<div class="rowline">
    <input size="small" class="containIpt" id="sellineName" v-model="searchingCondition.lineName" clearable @focus="isshowlist" @input="showListLine"></input>
    <i class="icon iconfont icon-chahao " @click="clearIpt"></i>
    </div>
    <div class="myel-select-dropdown" v-show="listLineUl" >
      <div class="myel-scrollbar">
          <div class="myel-select">
            <ul class="containlineul">
              <li @click="getCurrentLi(item,index)"  class="containLineli" :class="{'active':item.lineName}"  v-for="(item,index) in selectlineAllList" ><span>{{item.lineName}}</span></li>
            </ul>
          </div>
      </div>
  </div>

method

	//得焦点时显示下拉框,调用查询接口
   isshowlist(){
      this.listLineUl = true;
      this.listLineInfoNoPage(); 
   },
   //点击某个下拉选项,显示在input框中
   getCurrentLi(item,index){
      this.searchingCondition.lineName = item.lineName;
      this.listLineUl = false;
    },
    //根据输入值,实时查询所有数据
    showListLine(){
        this.listLineInfoNoPage()
      },

css

.rowline{
  display: inline;
  position: relative;
}
.icon-chahao{
  font-size: 13px;
  color: #dadada;
  position: absolute;
  right: 5px;
}
.containIpt{
   -webkit-appearance: none;
   background-color: #FFF;
   background-image: none;
   /* border-radius: 4px; */
   border: 1px solid #DCDFE6;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
   color: #606266;
   display: inline-block;
   font-size: inherit;
   height: 32px;
   line-height: 32px;
   outline: 0;
   padding: 0 15px;
   -webkit-transition: border-color .2s cubic-bezier(.645,.045,.355,1);
   transition: border-color .2s cubic-bezier(.645,.045,.355,1);
   width: 100%;
 }
 .myel-select-dropdown{
   position: absolute;
   z-index: 1001;
   border: 1px solid #E4E7ED;
   border-radius: 4px;
   background-color: #FFF;
   -webkit-box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
   box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
   margin: 5px 0;

   min-width: 192px;
   transform-origin: center top;
   top: 137px;
   left: 270px
 }
 .myel-scrollbar{
   overflow: hidden;
   position: relative;
 }
 .myel-select{
   overflow: scroll;
   height: 100%;
   max-height: 274px;
   margin-bottom: -17px;
   margin-right: -17px;
 }
 .containlineul{
   list-style: none;
   padding: 6px 0;
   margin: 0;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
 }
 .containLineli{
   font-size: 14px;
   padding: 0 20px;
   position: relative;
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   color: #606266;
   height: 34px;
   line-height: 34px;
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
   cursor: pointer;
}
.containLineli:hover{
  background-color: #F5F7FA;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值