创新互联百度小程序教程:filter筛选

  • filter 筛选
    • 属性说明
      • selections 中的 type 有效值
    • 示例
      • 代码示例
      • 数据示例

    filter 筛选

    解释:筛选,由筛选头部(filter-header)以及筛选面板(filter-body)组成,其中筛选面板支持单列筛选、级联筛选、多项选择筛选以及自定义筛选。

    钦南网站建设公司创新互联建站,钦南网站设计制作,有大型网站制作公司丰富经验。已为钦南近千家提供企业网站建设服务。企业网站搭建\外贸网站建设要多少钱,请找那个售后服务好的钦南做网站的公司定做!

    属性说明

    属性名 类型 必填 默认值 说明

    filterId

    String

    筛选组件的唯一标示

    selections

    String

    筛选项内容数组,数组格式为:
    [{
      text: ‘名称’,
      value: ‘值’,
      type: ‘single’/‘cascade’/‘checkbox-group’/‘custom’,
      options: [{
            text: ‘’,
            value: ‘’,
            highlight: false,
            textWidth: 100
         }]
    }]
    highlight: false表示选中后,筛选头部不高亮显示;
    textWidth: 100表示筛选头部宽度为 100px

    value

    String/Number/Array

    选中项的值

    border

    Boolean

    true

    筛选器头部(filter-header)是否带有下边线

    fontColor

    String

    #000

    筛选器头部(filter-header)默认状态下的文字颜色

    iconColor

    String

    #000

    筛选器头部(filter-header)默认状态下的 icon 颜色

    activeColor

    String

    #2772fb

    筛选器选中时筛选头部(filter-header)以及筛选面板(filter-body)icon 颜色

    disColor

    String

    #666

    筛选器选中时筛选头部(filter-header)配置不高亮(highlight: false)时的文字和 icon 颜色

    filter-header-class

    String

    筛选组件头部的外部样式类,可用于修改整个头部的最外层样式

    filter-btn-class

    String

    筛选组件头部的外部样式类,可用于修改某个头部按钮的样式

    filter-btn-text-class

    String

    筛选组件头部的外部样式类,可用于修改某个头部的文字样式

    filter-body-class

    String

    筛选组件展开时筛选面板(filter-body)外部样式类,可用于修改筛选面板的最外层样式

    bindselect

    EventHandle

    更改筛选面板中内容时触发,可用于获取组件选中的内容

    bindexpand

    EventHandle

    点击筛选头部或者筛选面板关闭时触发,可用于获取筛选面板收起 / 展开状态

    selections 中的 type 有效值

    说明
    single默认值,筛选组件展开后为单列面板
    cascade筛选组件展开后为筛选面板为级联面板,tips:筛选组件目前最多支持 3 级
    options 格式为:[{
      text: ‘’,
      value: ‘’,
      children: [{
       text: ‘’,
       value: ‘’
      }]
    }]
    checkbox-group筛选组件展开后为多选面板。需要修改多选面板样式,可以在 selections 中增加 column、itemStyle 等配置,可参考 checkbox-group 组件
    custom筛选组件展开后为自定义面板。如果你想要自定义筛选面板,则 selections 需要增加 slot ,如:slot=custom

    type 为 single 时的样式

    属性名 类型 必填 默认值 说明
    filter-singlelist-classString单列筛选外部样式类,可用于修改单列筛选组件最外层样式
    filter-singlelist-item-classString单列筛选外部样式类,可用于修改单列筛选组件中每一项展开元素的样式
    filter-singlelist-item-text-classString单列筛选外部样式类,可用于修改单列筛选组件中每一项展开元素的文字样式

    type 为 cascade 时的样式

    属性名 类型 必填 默认值 说明
    filter-cascade-classString级联筛选外部样式类,可用户修改级联筛选组件最外层样式
    filter-cascade-column-classString级联筛选组件外部样式类,可用户修改组件展开面板中,某一列的样式
    filter-cascade-column-item-classString级联筛选组件外部样式类,可用户修改组件展开面板中,某一列中某一项的样式
    filter-cascade-column-item-text-classString级联筛选组件外部样式类,可用户修改组件展开面板中,某一列中某一项的文字的样式

    type 为 checkbox-group 时的样式

    属性名 类型 必填 默认值 说明
    activeTextColorString#2772fb筛选面板(filter-body)为多项选择筛选时选中时的文字颜色
    activeIconColorString#2772fb筛选面板(filter-body)为多项选择筛选时选中时的 icon 颜色
    activeBgColorString#2772fb筛选面板(filter-body)为多项选择筛选时选中时的背景颜色
    filter-checkbox-group-classString多项筛选组件外部样式类,可用于修改组件最外层样式
    checkbox-group-classString多项组件的外部样式类,可用于修改组件展开的多项选择面板样式

    示例

    跳转编辑工具

    在开发者工具中打开

    在 WEB IDE 中打开

    扫码体验

    代码示例

    请使用百度APP扫码

    代码示例

    • SWAN
    • JS
    • CSS
    • JSON
     
     
     
    1. {{item.title}}
    2. border="{{false}}"
    3. font-color="{{item.fontColor}}"
    4. icon-color="{{item.iconColor}}"
    5. selections="{{item.selections}}"
    6. filter-id="{{index + 1}}"
    7. />
    8. {{item.title}}
    9. data-index="{{index}}"
    10. selections="{{item.selections}}"
    11. bind:select="selHdl"
    12. bind:expand="expandHdl"
    13. filter-id="{{index + 6}}"
    14. />
    15. s-if="item.type === 'custom'"
    16. class="{{item.class || 'filter-body'}}"
    17. filter-id="{{index + 6}}"
    18. selections="{{item.selections}}">
    19. s-if="customData[item].label"
    20. class="custom-content-label">{{customData[item].label}}
    21. s-if="customData[item].type === 'checkbox-group'"
    22. checkbox-group-class="filter-checkbox-group"
    23. column="{{customData[item].column}}"
    24. options="{{customData[item].options}}"
    25. value="{{customData[item].value}}"
    26. data-key="{{item}}"
    27. itemStyle="{{customData[item].itemStyle}}"
    28. bind:change="changeHdl"
    29. />
    30. class="btn reset"
    31. type="default"
    32. bindtap="resetHdl"
    33. disabled="{{resetDisabled}}"
    34. >重置
    35. class="btn submit"
    36. type="primary"
    37. bindtap="ensureHdl"
    38. >确定
    39. s-else
    40. class="{{item.class || 'filter-body'}}"
    41. checkbox-group-class="filter-checkbox-group"
    42. filter-id="{{index + 6}}"
    43. selections="{{item.selections}}"
    44. />
    45. 将数据“上海市”回填到筛选器一中,数据“东厂社区”回填到筛选器三中

    数据示例

    • JS
     
     
     
    1. import {upx2rpx} from '@smt-ui/component/src/common/utils/px';
    2. // 筛选头部数据
    3. export const headerArray = [
    4. {
    5. title: '单个筛选',
    6. selections: [
    7. {
    8. text: '筛选器一',
    9. value: '1'
    10. }
    11. ]
    12. },
    13. {
    14. title: '两个筛选',
    15. selections: [
    16. {
    17. text: '筛选器一',
    18. value: '1'
    19. },
    20. {
    21. text: '筛选器二',
    22. value: '2'
    23. }
    24. ]
    25. },
    26. {
    27. title: '三个筛选',
    28. selections: [
    29. {
    30. text: '筛选器一',
    31. value: '1'
    32. },
    33. {
    34. text: '筛选器二',
    35. value: '2'
    36. },
    37. {
    38. text: '筛选器三',
    39. value: '3'
    40. }
    41. ]
    42. },
    43. {
    44. title: '四个筛选',
    45. selections: [
    46. {
    47. text: '筛选器超过四个字打点',
    48. value: '1'
    49. },
    50. {
    51. text: '筛选器二',
    52. value: '2'
    53. },
    54. {
    55. text: '筛选器三',
    56. value: '3'
    57. },
    58. {
    59. text: '筛选器四',
    60. value: '4'
    61. }
    62. ]
    63. },
    64. {
    65. title: '自定义样式',
    66. fontColor: '#2772fb',
    67. iconColor: '#2772fb',
    68. selections: [
    69. {
    70. text: '最多支持8个字超过打点',
    71. textWidth: 386
    72. }
    73. ]
    74. }
    75. ];
    76. // 级联筛选第一列数据
    77. const cascadeFirstOptions = [
    78. {
    79. text: '全部所在地区',
    80. value: 'all',
    81. children: [
    82. {
    83. value: 'all',
    84. text: '全部所在地区'
    85. }
    86. ]
    87. },
    88. {
    89. value: 'bj',
    90. text: '北京市',
    91. children: [
    92. {
    93. value: 3848,
    94. text: '全部北京市'
    95. },
    96. {
    97. value: 3851,
    98. text: '东城区'
    99. },
    100. {
    101. value: 3852,
    102. text: '西城区'
    103. },
    104. {
    105. value: 3853,
    106. text: '海淀区'
    107. },
    108. {
    109. value: 3854,
    110. text: '朝阳区'
    111. },
    112. {
    113. value: 3855,
    114. text: '丰台区'
    115. },
    116. {
    117. value: 3856,
    118. text: '石景山区'
    119. },
    120. {
    121. value: 3857,
    122. text: '通州区'
    123. },
    124. {
    125. value: 3858,
    126. text: '顺义区'
    127. },
    128. {
    129. value: 3859,
    130. text: '房山区'
    131. },
    132. {
    133. value: 3860,
    134. text: '大兴区'
    135. },
    136. {
    137. value: 3861,
    138. text: '昌平区'
    139. },
    140. {
    141. value: 3862,
    142. text: '怀柔区'
    143. },
    144. {
    145. value: 3863,
    146. text: '平谷区'
    147. },
    148. {
    149. value: 3864,
    150. text: '门头沟区'
    151. },
    152. {
    153. value: 3865,
    154. text: '密云区'
    155. },
    156. {
    157. value: 3866,
    158. text: '延庆区'
    159. }
    160. ]
    161. },
    162. {
    163. value: 'tj',
    164. text: '天津市',
    165. children: [
    166. {
    167. value: 3849,
    168. text: '全部天津市'
    169. },
    170. {
    171. value: 3879,
    172. text: '和平区'
    173. },
    174. {
    175. value: 3880,
    176. text: '河东区'
    177. },
    178. {
    179. value: 3881,
    180. text: '河西区'
    181. },
    182. {
    183. value: 3882,
    184. text: '南开区'
    185. },
    186. {
    187. value: 3883,
    188. text: '河北区'
    189. },
    190. {
    191. value: 3884,
    192. text: '红桥区'
    193. },
    194. {
    195. value: 3885,
    196. text: '塘沽区'
    197. },
    198. {
    199. value: 3886,
    200. text: '汉沽区'
    201. },
    202. {
    203. value: 3887,
    204. text: '大港区'
    205. },
    206. {
    207. value: 3888,
    208. text: '东丽区'
    209. },
    210. {
    211. value: 3889,
    212. text: '西青区'
    213. },
    214. {
    215. value: 3890,
    216. text: '津南区'
    217. },
    218. {
    219. value: 3891,
    220. text: '北辰区'
    221. },
    222. {
    223. value: 3892,
    224. text: '武清区'
    225. },
    226. {
    227. value: 3893,
    228. text: '宝坻区'
    229. },
    230. {
    231. value: 3894,
    232. text: '宁河县'
    233. },
    234. {
    235. value: 3895,
    236. text: '静海区'
    237. },
    238. {
    239. value: 3896,
    240. text: '蓟州区'
    241. },
    242. {
    243. value: 3897,
    244. text: '滨海新区'
    245. }
    246. ]
    247. },
    248. {
    249. value: 'hb',
    250. text: '河北省',
    251. children: [
    252. {
    253. value: 3850,
    254. text: '全部河北省'
    255. },
    256. {
    257. value: 3867,
    258. text: '石家庄市'
    259. },
    260. {
    261. value: 3868,
    262. text: '唐山市'
    263. },
    264. {
    265. value: 3869,
    266. text: '秦皇岛市'
    267. },
    268. {
    269. value: 3870,
    270. text: '邯郸市'
    271. },
    272. {
    273. value: 3871,
    274. text: '邢台市'
    275. },
    276. {
    277. value: 3872,
    278. text: '保定市'
    279. },
    280. {
    281. value: 3873,
    282. text: '张家口市'
    283. },
    284. {
    285. value: 3874,
    286. text: '承德市'
    287. },
    288. {
    289. value: 3875,
    290. text: '沧州市'
    291. },
    292. {
    293. value: 3876,
    294. text: '廊坊市'
    295. },
    296. {
    297. value: 3877,
    298. text: '衡水市'
    299. },
    300. {
    301. value: 3878,
    302. text: '涿州市'
    303. }
    304. ]
    305. }
    306. ];
    307. // 级联筛选第二和第三列数据
    308. export const cascadeSecondAndThirdOptions = [
    309. {
    310. text: '东城区',
    311. value: '110101000000',
    312. children: [
    313. {
    314. text: '全部街道',
    315. value: '110101000000',
    316. children: [
    317. {
    318. text: '全部社区',
    319. value: '110101000000'
    320. }
    321. ]
    322. },
    323. {
    324. text: '东城区安定门街道',
    325. value: '110101004000',
    326. children: [
    327. {
    328. text: '全部社区',
    329. value: '110101004000'
    330. }
    331. ]
    332. },
    333. {
    334. text: '东城区建国门街道',
    335. value: '110101008000',
    336. children: [
    337. {
    338. text: '全部社区',
    339. value: '110101008000'
    340. },
    341. {
    342. text: '崇内社区',
    343. value: '11110101000033398110'
    344. },
    345. {
    346. text: '东总布社区',
    347. value: '11110101000033398111'
    348. },
    349. {
    350. text: '金宝街北社区',
    351. value: '11110101000033398103'
    352. },
    353. {
    354. text: '大雅宝社区',
    355. value: '11110101000033398104'
    356. },
    357. {
    358. text: '赵家楼社区',
    359. value: '11110101000033398105'
    360. },
    361. {
    362. text: '站东社区',
    363. value: '11110101000033398106'
    364. }
    365. ]
    366. },
    367. {
    368. text: '东城区朝阳门街道',
    369. value: '110101007000',
    370. children: [
    371. {
    372. text: '全部社区',
    373. value: '110101007000'
    374. }
    375. ]
    376. },
    377. {
    378. text: '东城区东直门街道',
    379. value: '110101009000',
    380. children: [
    381. {
    382. text: '全部社区',
    383. value: '110101009000'
    384. }
    385. ]
    386. },
    387. {
    388. text: '东城区东华门街道',
    389. value: '110101001000',
    390. children: [
    391. {
    392. text: '全部社区',
    393. value: '110101001000'
    394. },
    395. {
    396. text: '正义路社区',
    397. value: '11110101000033443B01'
    398. },
    399. {
    400. text: '台基厂社区',
    401. value: '11110101000033443B08'
    402. },
    403. {
    404. text: '南池子社区',
    405. value: '11110101000033443B09'
    406. },
    407. {
    408. text: '智德社区',
    409. value: '11110101000033443B11'
    410. },
    411. {
    412. text: '银闸社区',
    413. value: '11110101000033443B13'
    414. },
    415. {
    416. text: '王府井社区',
    417. value: '11110101000033443B19'
    418. },
    419. {
    420. text: '东厂社区',
    421. value: '11110101000033443B20'
    422. }
    423. ]
    424. },
    425. {
    426. text: '东城区和平里街道',
    427. value: '110101010000',
    428. children: [
    429. {
    430. text: '全部社区',
    431. value: '110101010000'
    432. }
    433. ]
    434. },
    435. {
    436. text: '东城区北新桥街道',
    437. value: '110101005000',
    438. children: [
    439. {
    440. text: '全部社区',
    441. value: '110101005000'
    442. },
    443. {
    444. text: '北官厅社区',
    445. value: '11110101000033478X01'
    446. },
    447. {
    448. text: '民安社区',
    449. value: '11110101000033478X02'
    450. },
    451. {
    452. text: '北新仓社区',
    453. value: '11110101000033478X03'
    454. },
    455. {
    456. text: '海运仓社区',
    457. value: '11110101000033478X04'
    458. }
    459. ]
    460. }
    461. ]
    462. },
    463. {
    464. text: '西城区',
    465. value: '110102000000',
    466. children: [
    467. {
    468. text: '全部街道',
    469. value: '110102000000',
    470. children: [
    471. {
    472. text: '全部社区',
    473. value: '110102000000'
    474. }
    475. ]
    476. },
    477. {
    478. text: '西城区白纸坊街道',
    479. value: '110102019000',
    480. children: [
    481. {
    482. text: '全部社区',
    483. value: '110102019000'
    484. }
    485. ]
    486. },
    487. {
    488. text: '西城区椿树街道',
    489. value: '110102015000',
    490. children: [
    491. {
    492. text: '全部社区',
    493. value: '110102015000'
    494. }
    495. ]
    496. },
    497. {
    498. text: '西城区大栅栏街道',
    499. value: '110102013000',
    500. children: [
    501. {
    502. text: '全部社区',
    503. value: '110102013000'
    504. }
    505. ]
    506. },
    507. {
    508. text: '西城区德胜街道',
    509. value: '110102010000',
    510. children: [
    511. {
    512. text: '全部社区',
    513. value: '110102010000'
    514. },
    515. {
    516. text: '石油社区',
    517. value: '1111010200003821X001'
    518. },
    519. {
    520. text: '水电社区',
    521. value: '1111010200003821X002'
    522. },
    523. {
    524. text: '煤炭社区',
    525. value: '1111010200003821X003'
    526. },
    527. {
    528. text: '安德路南社区',
    529. value: '1111010200003821X004'
    530. },
    531. {
    532. text: '安德路北社区',
    533. value: '1111010200003821X005'
    534. 本文名称:创新互联百度小程序教程:filter筛选
      文章源于:http://www.shufengxianlan.com/qtweb/news21/175221.html

      网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

      广告

      声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联