uniapp开发的通用条件筛选组件,支持单选框、复选框、下拉框、下拉树、时间选择等,同时兼容小程序、APP、H5

avatar
作者
猴君
阅读量:0

uniapp开发的通用条件筛选组件,支持单选框、复选框、下拉框、下拉树、时间选择等,同时兼容小程序、APP、H5

简介

通用条件筛选,支持输入框、单选框、复选框、下拉框、下拉树、日期时间、日期范围、数值范围等筛选条件,兼容小程序、APP、H5
图片展示:
在这里插入图片描述

获取方式

直接在uniapp插件市场下载,将插件导入HBuilder使用即可,下载地址:
https://ext.dcloud.net.cn/plugin?id=17292

依赖组件

本组件依赖uni-ui扩展组件,使用前请提前引入uni-forms、uni-data-checkbox、uni-data-select、uni-datetime-picker、uni-easyinput等,详细依赖请下载插件市场中的示例项目

代码示例

<template>     <view class="container">         <view >             <!-- 筛选弹框 -->             <cxk-cloud-condition-screen ref='condition' popupType="bottom" @touchmove.stop :color="conditionColor" :list="screenList" :defaultValue="defaultValue" @result="resultConditon" />         </view>         <view class="filter-bar" >             <view class="filter-item" >             </view>             <view class="filter-item" @click="open">                 <button size="mini" type="default"                     style="color:#ffffff;backgroundColor:#007aff;borderColor:#000000">筛选</button>             </view>             <view class="filter-item" >             </view>         </view>         <view class="data-list" >         </view>     </view> </template>  <script>     export default {         components: {         },         data() {             return {                 //筛选弹框                 conditionColor: '#4D7BFE',                 hasChoose: false,                 screenList: [],                 defaultValue: {},                 queryParams:{}             }         },         onLoad () {             //设置筛选条件             setTimeout(() => {                 this.setScreenData();             },500)         },         mounted() {         },         methods: {             //打开筛选面板             open(){                 this.$refs.condition.openPopup()             },             //确认筛选条件并开始搜索             resultConditon(obj) {                 for (var key in obj.str_result) {                     this.queryParams[key] = obj.str_result[key];                 }                 console.log(obj);             },             //设置筛选数据             setScreenData(){                     this.screenList = [                         {                         'title': '部门',                         'type': 'selectTree',                         'key': 'deptId',                         'detailList': [                                         {                                             "id": 100,                                             "label": "科技公司",                                             "children": [                                                 {                                                     "id": 101,                                                     "label": "深圳总公司"                                                 },                                                 {                                                     "id": 102,                                                     "label": "石家庄分公司"                                                 }                                             ]                                         }                                     ]                     },                     {                         'title': '状态',                         'type': 'select',                         'key': 'status1',                         'detailList':[{                             text: '正常',                             value: "0",                         }, {                             text: '停用',                             value: "1",                         }],                     },                     {                         'title': '用户名',                         'type': 'input',                         'key': 'userName',                     },                      {                         'title': '手机号',                         'type': 'input',                         'key': 'phonenumber',                     },                      {                         'title': '状态',                         'type': 'checkbox',                         'key': 'status',                         'detailList': [{                             text: '正常',                             value: "0",                         }, {                             text: '停用',                             value: "1",                         }],                     },                      ]             },         }     } </script>  <style>     page{         height: 100%;     }     .container{         height: 100%;         display: flex;          flex-direction: column;     }     /* 筛选栏样式开始 */     .filter-bar{         /* height: 100rpx; */         display: flex;         justify-content: space-between;         align-items: center;         height: 50px;         background-color: #fff;         border-bottom: 1px solid #eee;         padding: 0 10px;         /* position: sticky; */     }     .filter-item {       display: flex;       align-items: center;       font-size: 16px;       color: #333;       position: relative;       cursor: pointer;     }     .filter-item.active {       color: #5500ff;     }     /* 筛选栏样式结束 */ </style> 

组件属性说明

属性名类型默认值说明
colorString#4D7BFE主题颜色(非必填)
listArray[]筛选条件数据(必填)
defaultValueObject{}筛选条件回显值(非必填)
resultFunction点击确认返回数据

筛选条件数据list属性说明

属性名类型说明
typeStringrangetime 时间带时分秒范围选择、range 时间不带时分秒范围选择、rangenumber 数值范围选择、selectTree 下拉树、date 时间选择、datetime 时间选择、input 单输入框 、select 下拉框、radio 单选框、checkbox 复选框
titleString筛选条件显示名称
keyString筛选条件键值
minNameStringtype为range、rangetime、rangenumber生效,返回日期或数量范围开始值
maxNameStringtype为range、rangetime、rangenumber生效,返回日期或数量范围结束值

result 点击确认返回数据属性说明

属性名类型说明
hasChooseBoolean筛选面板用户是否选择值
resultObjectlist对应key选择的值
str_resultObjectlist对应key选择的值 ,key选的值返回逗号隔开的字符串

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!