未来日子还长,请保持好心情。

 效果概览:修改el-input样式。外层是框框,内层是input和i,实现点击查询图标查询、点击取消按钮清空form的同时 重置查询结果。从而实现不带查询按钮,单一input实现查询重置功能

 


目录

一、给el-input添加自定义图标

 二、图标实现点击操作

1. 样式修改

 2. 取消按钮的显示与隐藏


一、给el-input添加自定义图标

基础elementUI 添加clearable之后可以实现【可删除的input】Element - The world's most popular Vue UI framework

suffix-icon 在搜索框后加入图标 

prefix-icon 在搜索框头部加入图标

<el-input
        v-model="queryParams.detailQuery"
        placeholder="可查询SAP物料号/产品名称"
        clearable
        size="small"
        class="search-input1"
        @keyup.enter.native="handleQuery"
        suffix-icon="el-icon-search"
/>
.search-input1 {
    width: 210px;
    height: 30px;
    margin: auto 20px;
    border-radius: 4px;
}
::v-deep .search-input1 .el-input__inner {
  border-radius: 16px;
}

 

 二、图标实现点击操作

对于上述效果,希望点击【搜索】【取消】能实现相应的功能

问题:通过suffix-icon和prefix-icon实现的图标并不能实现添加图标的点击操作。

思路:使用div包裹input和i 实现el-input的封装

1. 样式修改

<div class="search-input-content">
        <el-input
          v-model="queryParams.findString"
          placeholder="可查询SPA物料号/产品名称"
          size="small"
          class="search-input"
          @keyup.enter.native="handleQuery"
        >
        </el-input>
        <i class="el-icon-search search-icon" @click="handleQuery"></i>
      </div>
</div>
.search-input-content {
  display: flex;
  justify-content: space-between;
  width: 240px;
  height: 34px;
  margin-top: 7px;
  margin-right: 30px;
  // padding: 8px 0px;
  border-radius: 16px;
  border: 1px solid #d2d2d2;
}
.search-input {
    width: 190px;
    height: 30px;
    margin-left: 10px;
}
::v-deep .search-input .el-input__inner {
  border: 0px;
}

 

 2. 取消按钮的显示与隐藏

取消按钮:输入文字时显示【取消】按钮,点击【取消】重置表格

思路:使用v-if绑定输入文字

<div class="search-input-content">
        <el-input
          v-model="queryParams.findString"
          placeholder="可查询SPA物料号/产品名称"
          size="small"
          class="search-input"
          @keyup.enter.native="handleQuery"
        >
        </el-input>
        <i class="el-icon-search search-icon" @click="handleQuery"></i>
        <i
          class="el-icon-circle-close search-icon"
          v-if="queryParams.findString"
          @click="clear()"
        ></i>
</div>

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐