更新记录
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字段 |