# 过滤栏
升序降序, 下拉框,开关,自定义筛选
# 平台差异
App | H5 | 微信小程序 | 支付宝小程序 | 头条小程序 |
---|---|---|---|---|
√ | √ | √ | √ | √ |
# cl-filter-bar
# Props
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
isSticky | 是否吸顶 | boolean | false |
# Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | cl-filter-item 数据变化时触发 | function({ prop, value }) |
# cl-filter-item
# Props
参数 | 说明 | 类型 | 可选值 | 默认值 |
---|---|---|---|---|
value | 绑定值,当时下拉多选时,必须是数组 | string, number, array | ||
prop | 唯一标识, change 时返回 | string | ||
type | 筛选类型 | string | dropdown / order | |
label | 标题 | string | ||
disabled | 是否禁用 | boolean | false | |
multiple | 下拉框是否多选 | boolean | false | |
theme | 下拉框主题 | string | default / grid | default |
grid-cols | 格布局下的列数 | number | 4 | |
options | 下拉数据选项 | array | ||
options.label | 文本内容 | string | ||
options.value | 绑定值 | number / string | ||
options.disabled | 是否禁用 | boolean | false |
# Events
事件名称 | 说明 | 回调参数 |
---|---|---|
change | 绑定值发生改变时触发 | function(value) |
# Slots
插槽名称 | 说明 |
---|---|
dropdown | 下拉框的插槽 |
# 示例
基本用法
<template>
<cl-filter-bar @change="onChange">
<!-- 多选下拉 -->
<cl-filter-item
v-model="arr"
label="多选"
:options="list"
type="dropdown"
multiple
prop="rank"
></cl-filter-item>
<!-- 单选下拉 -->
<cl-filter-item
v-model="str"
label="单选"
:options="list"
type="dropdown"
prop="rank"
></cl-filter-item>
<!-- 升序,降序 -->
<cl-filter-item prop="price" v-model="sort" label="价格" type="sort"></cl-filter-item>
</cl-filter-bar>
</template>
<script>
export default {
data() {
return {
list: [
{
label: "综合排序",
value: 1
},
{
label: "距离最近",
value: 2
},
{
label: "好评优先",
value: 3
},
{
label: "起送价最低",
value: 4
},
{
label: "配送最快",
value: 5
},
{
label: "通用排序",
value: 6
}
],
arr: [1],
str: "",
sort: "desc"
};
}
};
</script>