Skip to content

advanced-filter 高级筛选

advanced-filter 是一个右侧弹出的高级筛选组件,支持价格区间、多层级分类筛选、单选/多选等功能。

基础用法

vue
<template>
  <advanced-filter
    :show.sync="showFilter"
    :dataList="filterData"
    @confirm="onConfirm"
    @reset="onReset"
  ></advanced-filter>
</template>

<script>
export default {
  data() {
    return {
      showFilter: false,
      filterData: [
        {
          name: '分类',
          key: 'category',
          dataList: [
            { name: '手机', key: 'phone' },
            { name: '电脑', key: 'computer' }
          ]
        }
      ]
    }
  },
  methods: {
    onConfirm() {
      console.log('确认筛选')
      this.showFilter = false
    },
    onReset() {
      console.log('重置筛选')
    }
  }
}
</script>

Props

参数说明类型默认值
show是否显示筛选弹窗 (支持 .sync)Booleanfalse
title弹窗标题String'筛选'
isCustomList是否自定义筛选列表 (为 true 时需传入 dataList)Booleanfalse
dataList筛选列表数据Array[]
selectList默认选中的列表对象Object{}
label显示文本的属性名String'name'
keyName唯一标识的属性名String'key'
valueName值属性名String'value'
childrenName子列表属性名String'dataList'
unfoldNameList默认展开的项的 key 列表Array/String/Number[]
accordion是否开启手风琴模式Booleanfalse
showPrice是否显示价格区间筛选Booleanfalse
isSingle是否开启单选模式Booleanfalse

Events

事件名说明回调参数
open弹窗打开时触发-
close弹窗关闭时触发-
reset点击重置按钮触发-
confirm点击确认按钮触发-
getDateComplete获取筛选数据完成时触发list

Slots

插槽名说明
header顶部自定义内容
collapse-top折叠面板上方自定义内容
collapse-bottom折叠面板下方自定义内容
botttom底部按钮区域自定义内容