美文网首页
构建高复用的搜索筛选项(前景篇)

构建高复用的搜索筛选项(前景篇)

作者: pphdsny | 来源:发表于2018-06-28 13:43 被阅读67次

    前景

    公司App中有许多功能需要用到条件筛选功能,每次写起来都十分费时,而且逻辑不统一且容易出错。所以就在想能不能“构建高复用的搜索筛选项”(就是想lan一下)。

    提要求

    • 筛选项可动态改变(添加、删除等)
    • 统一的交互方式
    • 集成简单
    • 有一些默认筛选项实现(单选、多选、复合选、区域等)
    • UI可定制(优先级低)
    • 就是要用的爽!!!
    • ...

    YY一下

    • 自定义一些协议(Tab协议、子筛选项协议...)
    • 筛选项所有可变的都通过协议让调用方实现
    • 所有的交互都封装在内部
    • 暴露很多自定义属性(UI自定义)
    • 咋让你爽呢???
    • ...

    来段伪码

    SearchFilterLayout(筛选View)

    //添加筛选项
    addTab(ITabFilter)
    

    ITabFilter(每个子筛选项都必须实现的协议)

    //获取筛选View
    View getView();
    //获取选中条件
    FilterItemModel getSelectFilterData();
    //设置选中项
    void setSelectFilterDate(FilterItemModel);
    //清空选中项
    void cleanSelectFilter();
    //其他可扩展的
    ...
    

    FilterItemModel(统一的每个筛选的数据model)

    //名称
    String name;
    //id
    int code;
    //其他
    ...
    

    还有啥

    这仅仅是个开始….完整代码见后续!!!

    效果如下:


    95b6x-6keix.gif

    后记

    实战来了,欢迎点击:构建高复用的搜索筛选项(实现篇)

    相关文章

      网友评论

          本文标题:构建高复用的搜索筛选项(前景篇)

          本文链接:https://www.haomeiwen.com/subject/xeegyftx.html