更新记录

1.0.0(2024-12-10) 下载此版本

有问题联系开发者


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 3.1.0 app-vue app-nvue
钉钉小程序 快手小程序 飞书小程序 京东小程序
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari

使用示例

<template>
  <view>
      <sh-filter :list="list"></sh-filter>
  </view>
</template>

<script>
export default {
  data() {
    return {
      list: [
          {
            label: '范围',
            field: 'e',
            type: 'rangeInput',
            child: [
              {
                label: '10-100米',
                value: [10, 100],
              },
              {
                label: '0-120米',
                value: [0, 120],
              },
              {
                label: '70-110米',
                value: [70, 110],
              },
            ],
          },
          {
            label: '排序',
            field: 'ff',
            type: 'switch',
            child: [
              {
                label: '升序',
                value: 'asc',
              },
              {
                label: '降序',
                value: 'desc',
              }
            ],
          },
          {
            label: '单选日期',
            field: 'datei',
            type: 'date',
            startDate: '2024-12-16',
          },
          {
            label: '多选日期',
            field: 'dateil',
            type: 'date',
            startDate: '2024-12-16',
            range: true
          },
          {
            label: '输入框',
            field: 'f',
            type: 'input',
            child: [
              {
                label: '待选值1',
                value: '333',
              },
              {
                label: '待选值2',
                value: '222',
              },
              {
                label: '待选值3',
                value: '11',
              },
            ],
          },
          {
            label: '圆角选择',
            type: 'select',
            mode: 'button', // button -按钮类型  cell-表格类型
            radius: '40px',
            max: 1,
            field: 'i',
            child: [
              {
                label: 'S码',
                value: '升序',
              },
              {
                label: 'M码',
                value: '升序3',
              },
              {
                label: 'L码',
                value: '升序2',
              },
              {
                label: 'XL码',
                value: '升序1',
              },
              {
                label: 'XXL码',
                value: '降序',
              },
            ],
          },
          {
            label: '颜色选择',
            type: 'select',
            field: 'i',
            child: [
              {
                label: '红色',
                value: '红色',
              },
              {
                label: '黑色',
                value: '黑色',
              },
              {
                label: '白色',
                value: '白色',
              },
              {
                label: '灰色',
                value: '灰色',
              },
            ],
          },
          {
            label: '星巴克',
            type: 'radio',
            field: 'bd',
            child: [
              {
                label: '中杯',
                value: '中杯',
              },
              {
                label: '大杯',
                value: '大杯',
              },
              {
                label: '超大杯',
                value: '超大杯',
              },
            ],
          },
          {
            label: '范围12',
            type: 'group',
            fixed : true,
            child: [
              {
                label: '单个选择',
                field: 'ia',
                type: 'radio',
                child: [
                  {
                    label: 'S码',
                    value: '升序',
                  },
                  {
                    label: 'M码',
                    value: '升序3',
                  },
                  {
                    label: 'L码',
                    value: '升序2',
                  },
                  {
                    label: 'XL码',
                    value: '升序1',
                  },
                  {
                    label: 'XXL码',
                    value: '降序',
                  },
                ],
              },
              {
                label: '多个选择',
                field: 'ii',
                type: 'select',
                child: [
                  {
                    label: 'S码',
                    value: '升序',
                  },
                  {
                    label: 'M码',
                    value: '升序3',
                  },
                  {
                    label: 'L码',
                    value: '升序2',
                  },
                  {
                    label: 'XL码',
                    value: '升序1',
                  },
                  {
                    label: 'XXL码',
                    value: '降序',
                  },
                ],
              },
              {
                label: '选择尺码1',
                field: 'i',
                type: 'select',
                mode: 'button',
                max: 1,
                child: [
                  {
                    label: 'S码',
                    value: '升序',
                  },
                  {
                    label: 'M码',
                    value: '升序3',
                  },
                  {
                    label: 'L码',
                    value: '升序2',
                  },
                  {
                    label: 'XL码',
                    value: '升序1',
                  },
                  {
                    label: 'XXL码',
                    value: '降序',
                  },
                ],
              },
              {
                label: '是否快递',
                type: 'switch',
                field: 'ij',
                child: [
                  {
                    label: 'M码',
                    value: true,
                  },
                  {
                    label: 'S码',
                    value: false,
                  },
                ]
              },
              {
                label: '选择日期',
                type: 'date',
                range: true,
                field: 'idj',
              },
            ],
          },
        ]
    }
  }
}
</script>

属性 Porps

属性 类型 说明
list Array<Options> 配置列表,具体配置查看Options

配置项 Options

属性 类型 说明
label String 显示名称
field String 赋值字段,会在change事件中返回
type String 筛选类型,具体见OptionTypes
fixed Boolean 是否固定在右侧,只能有一个
mode String button-按钮类型 cell-表格类型 type=select时生效
max Number 最大选中数量 0为不限制 type=select时生效
radius String 圆角大小 type=select时生效
range Boolean 日期范围选择 type=date时生效
startDate String 开始日期 type=date时生效
endDate String 结束日期 type=date时生效
child Array<Options> Array<{ label: string, value: string }> label为显示名称,value为值类型会赋值給field字段

筛选类型 OptionTypes

类型 说明
select 多选 例如:尺码、颜色
flexSelect flex布局类型的多选 例如:尺码、颜色
radio 单选 例如:中杯 大杯 超大杯
switch 开关切换,可以用作排序正序、倒序
date 日期选择,依赖uni-ui的 uni-calendar组件,若没有请安装
rangeInput 范围输入 例如年龄:18 - 35
input 普通输入
group 分组弹窗收缩、展开,常用于筛选条件过多时,例如:商品筛选

事件 Emit

事件名 说明 回调参数
change 筛选内容变化 参数为options的field字段

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问