iview table表头自定义筛选

摘要:
that.searchs[params.column.key]}type="text"onClick={e=˃that.setColumnParams}˃筛选that.setColumnParams}˃重置);data增加临时searchs存储:searchs:{name:''},//临时存储的search信息columns属性对应key的renderHeader{title:"姓名",key:"name",200,value:"",sortable:true,renderHeader:=˃searchInput,},调用的方法:setColumnParams{//重置分页this.$refs.selection.$el.click()//隐藏pop弹框constkey=params.column.key;if{this.columns[params.index].value='';this['searchs'][key]='';}else{this.columns[params.index].value=this['searchs'][key];}this.searchData();//查询api}涉及样式:.ivu-dropdown-transfer{position:absolute;top:0;left:0;}.ivu-dropdown-item:hover{background-color:#fff!

自定义search input:

const searchInput = (h, params, that) =>(
  <span class="search-area">
    <span>{params.column.title}</span>
    <div class="pop-search-wrapper">
      <Poptip popper-  transfer={true} transfer={true} placement="bottom" offset={8}> 
        <Icon type="ios-funnel" class={`search-funnel2 ${!that.serachVal(params.column.value)&&'search-funnel-hover'}`} color={that.serachVal(params.column.value) ? "#2d8cf0" : "#c5c8ce"}/>
          <div   slot="content">
            <div class="con-box">
              <Input search placeholder="" onOn-change={e => that.changeValue(e, params)} value={params.column.value} />
            </div>
            <div class="pop-search-footer ivu-table-filter-footer">
              <Button disabled={!that.searchs[params.column.key]} type="text" onClick={ e => that.setColumnParams(params)}>筛选</Button>
              <Button type="text" onClick={ e => that.setColumnParams(params, 'reset')}>重置</Button>
            </div>
          </div>
      </Poptip>
    </div>
  </span>);

data增加临时searchs存储:

searchs: {
        name: ''}, //临时存储的 search信息
columns属性对应key的renderHeader
{
          title: "姓名",
          key: "name",
           200,
          value: "",
          sortable: true,
          renderHeader: (h, params) => searchInput(h, params, this),
        },

调用的方法:

setColumnParams(params, type) {  //重置分页
      this.$refs.selection.$el.click() //隐藏pop弹框
      const key =params.column.key;
      if(type === 'reset') {
        this.columns[params.index].value =  '';
        this['searchs'][key] = '';
      } else{
        this.columns[params.index].value = this['searchs'][key];
      }
      this.searchData(); //查询api
    }

涉及样式:

<style lang="less">
.ivu-dropdown-transfer{position:absolute;top:0;left:0;
}.ivu-dropdown-item:hover{background-color:#fff!important;
}.search-area {position:relative;display:inline-block;
}.search-funnel{position:absolute;right:-36px;top:3px;
}.search-funnel2{position:relative;right:-8px;transition:color 0.2s ease-in-out;
}.search-funnel-hover{&:hover{
    color: #515a6e!important;
  }}
.pop-search-wrapper{position:absolute;right:-28px;top:-1px;
}.pop-search-footer{&.ivu-table-filter-footer{
    padding:0!important;
  }}
.table-search-pop{.ivu-poptip-body{
    padding:0!important;
  }.con-box{padding:0 12px 8px;.p-checkbox-box{
      margin-bottom:10px;
    }}
}
.pop-input-search{padding-top:10px;width:280px;background:#fff;z-index:1;border-radius:4px;
}
.button-box{display:flex;padding-bottom:10px;margin-bottom:-22px;border-top:1px solid #EFEFEF;span{
    flex:1;height:36px;line-height:36px;text-align:center;font-size:14px;color:#4390FF;
  }}
.search-checkbox{.pop-input-search{
    width:160px;
  }}
.page-wrapper{padding-top:50px;text-align:center;
}</style>

免责声明:文章转载自《iview table表头自定义筛选》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇深入理解Faiss 原理&amp;amp;源码 (一) 编译WPF中元素拖拽的两个实例下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Qt 杂记——QTableWidget列表添加、删除(备份)

1.列表的添加 需求:向一个有两列的Table中添加一条数据 思路:新建一个inputDialog,通过按钮打开Qt自带的inputDialog,传递回输入的数据,再添加到列表中 界面: 代码: inputDialog.h   #ifndef INPUTDIALOG_H #define INPUTDIALOG_H #include <QDialog...

DB2查询前100到后200之间的数据

select T.sicCd form Table T where T.sicCd not in ( select sicCd form Table fetch first 100 rows only ) fetch first 100 rows only...

利用MySQL数据库如何解决大数据量存储问题?

提问:如何设计或优化千万级别的大表?此外无其他信息,个人觉得这个话题有点范,就只好简单说下该如何做,对于一个存储设计,必须考虑业务特点,收集的信息如下:1.数据的容量:1-3年内会大概多少条数据,每条数据大概多少字节; 2.数据项:是否有大字段,那些字段的值是否经常被更新; 3.数据查询SQL条件:哪些数据项的列名称经常出现在WHERE、GROUP BY、...

element-ui 表格翻页多选后仍然记忆所选项,数据回显

reserve-selection与row-key结合 <el-table :data="pageData" ref="goodsTable" size="small" v-loading="loading" height="520" @selection-change="handleSelectionChange" :row-key="getR...

RecyclerView的万能适配器+定义可以到底部自动刷新的RecyclerView

RecyclerView的重要性就不做重复说明了,为了方便以后直接使用写了这个,主要有:   万能适配器在使用的时候分为定义布局和绑定数据,方便直接套用。加入了底部刷新,需要配合自己写的RecyclerView一起使用,对于布局中各个子布局和控件可以做到响应各种点击事件:     首先抽取ViewHolder:这里的要点是用到了SparseArray(源码...

Gitlab日常备份和恢复

按照官方安装文档安装完成之后的/home/git目录结构如下,这里我大致翻译官方的内容,部分加上自己的话,英语功力捉急,请见谅 |-- home | |-- git | |-- .ssh | |-- gitlab | |-- gitlab-satellites | |-- gitlab-shell | |-- repositories * `/home/g...