uni-app 分类组件

15 篇文章 5 订阅
7 篇文章 1 订阅

目录

介绍

平台差异说明

使用方式

安装

引入

基本使用

单选

自定义右侧子分类插槽

样式

API

Props

Slot

Events


介绍

组件所需数据结构如下:支持关键字段自定义

[
   {
      "name": "女装",
      "foods": [
          {
            "name": "A字裙",
            "key": "1",
            "icon": "https://cdn.uviewui.com/uview/common/classify/1/1.jpg"
          },
          {
            "name": "T恤",
            "key": "2",
            "icon": "https://cdn.uviewui.com/uview/common/classify/1/2.jpg"
          }
      ]
   },
   {
      "name": "美食",
      "foods": [
          {
            "name": "火锅",
            "key": "15",
            "icon": "https://cdn.uviewui.com/uview/common/classify/2/1.jpg"
          },
          {
            "name": "糕点饼干",
            "key": "16",
            "icon": "https://cdn.uviewui.com/uview/common/classify/2/2.jpg"
          }
      ]
   }
]

平台差异说明

H5微信小程序支付宝小程序百度小程序头条小程序

使用方式

安装

npm i uni-classification

引入

import Classify from 'uni-classification'

components: { Classify },

基本使用

<Classify
  :classifyData="classifyData"
  mode="multiple" // 多选
  max="10"
  childrenKeyName="foods"
  childValueKeyName="key"
/>

单选

<Classify
  :classifyData="classifyData"
  childrenKeyName="foods"
  childValueKeyName="key"
  @change="onChange"
/>
onChange(value, row) {
  console.log(value, row);
  uni.showToast({
    title: value,
    icon: 'none'
  })
}

自定义右侧子分类插槽

<Classify
  :classifyData="classifyData"
  class="classify"
  mode="multiple"
  max="10"
  childrenKeyName="foods"
  childValueKeyName="key"
>
  <template v-slot:classify-kids="{ row }">
    <view class="row-kids" :class="{ active: row.checked }">{{ row.name }}</view>
  </template>
</Classify>

样式

可通过 ::v-deep 修改css

API

Props

属性说明默认值类型可选值
classifyData分类数据源Array
mode多选单选单选Stringmultiple
menuLabelKeyName菜单要显示的字段nameString
menuValueKeyName菜单主键键名idString
childrenKeyName右侧子分类字段childrenString
childLabelKeyName右侧子分类要显示的字段nameString
childValueKeyName右侧子分类主键键名idString
iconKeyName右侧子分类icon键名iconString
max最多可选择数量,只在多选时有效999Number|String
lang多选时,超过max值时的提示语国际化zhStringzh en es ja
placeholder搜索区域placeholder搜索String

Slot

name说明
classify-kids右侧分类子节点
popup-classify-kids弹出层中分类子节点,默认取 classify-kids 传入的VNode
empty搜索值为空时

Events

事件名说明回调参数
change单选时可通过change事件获取返回值 多选时需要通过点击确定按钮获取change事件返回值value:目前的选中选项主键值 row:目前的选中选项数据
  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__畫戟__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值