更新记录

1.0.0(2025-12-07) 下载此版本

appx-subsection 是一款适用于多端(基于 uts 语法)的分段器组件,支持按钮式(button)和分段式(subsection)两种展示模式,可自定义文字颜色、字体大小、激活态加粗等样式,常用于分类切换、选项筛选等场景。


平台兼容性

uni-app x(4.87)

Chrome Safari Android iOS 鸿蒙 微信小程序

appx-subsection 分段器组件帮助文档

组件介绍

appx-subsection 是一款适用于多端(基于uts语法)的分段器组件,支持按钮式(button)和分段式(subsection)两种展示模式,可自定义文字颜色、字体大小、激活态加粗等样式,常用于分类切换、选项筛选等场景。

组件属性(Props)

属性名 类型 默认值 必填 说明
list Array - 选项数组,仅支持纯字符串格式,如 ['选项1', '选项2'];若传入空数组或非字符串元素,控制台会输出对应错误提示
current string / number 0 初始化默认选中的选项索引值;若传入无效索引(如非数字、超出数组长度),控制台会输出警告并自动修正为0
activeColor string #3c9cff 激活状态的颜色,包含文字颜色(所有模式)、button模式激活项背景色外的文字色、subsection模式激活下划线颜色
inactiveColor string #303133 未激活状态的文字颜色
mode 'button' / 'subsection' button 组件展示模式:
- button:按钮式,带整体背景色,激活项有白色背景;
- subsection:分段式,无整体背景,底部有边框,激活项下方显示下划线;
若传入非有效值,控制台会输出警告并自动修正为button
fontSize string / number 12 字体大小,单位为px,组件内部会自动拼接px单位
bold boolean true 仅subsection模式生效,控制激活选项的字体是否加粗
bgColor string #eeeeef 仅button模式生效,控制组件整体背景颜色

组件事件(Events)

事件名 触发时机 回调参数 说明
change 点击分段器选项时 index: number 返回当前选中选项的索引值;同时组件内部会更新激活索引,同步展示选中状态

组件样式说明

通用样式

  • 容器默认宽度100%,采用flex横向布局,选项均分宽度(flex:1);
  • 选项文字默认水平/垂直居中,行高优化避免文字偏移;
  • 所有交互样式过渡动画时长为0.2s(背景色、下划线宽度)。

不同模式样式差异

模式 视觉特征 激活态表现
button 整体带背景色(bgColor),选项有内边距和圆角 激活项背景为白色,文字色为activeColor;未激活项文字色为inactiveColor
subsection 无整体背景,底部有浅灰色边框 激活项文字色为activeColor(可加粗),下方显示activeColor的下划线;未激活项文字色为inactiveColor

使用示例

基础使用(button模式)

<template>
  <appx-subsection 
    :list="['推荐', '热点', '财经']" 
    :current="1"
    @change="handleChange"
  />
</template>

<script lang="uts" setup>
const handleChange = (index: number) => {
  console.log('选中索引:', index);
};
</script>

自定义样式(subsection模式)

<template>
  <appx-subsection 
    :list="['全部', '待付款', '待发货', '已完成']" 
    mode="subsection"
    activeColor="#ff6700"
    inactiveColor="#666666"
    :fontSize="14"
    :bold="false"
    @change="handleChange"
  />
</template>

<script lang="uts" setup>
const handleChange = (index: number) => {
  console.log('选中索引:', index);
};
</script>

注意事项

  1. list参数必须传入非空的纯字符串数组,否则组件会输出错误提示且无法正常渲染;
  2. current参数建议传入非负整数,若传入字符串类型的数字(如"2"),组件会自动转换为数字;
  3. mode参数仅支持'button'和'subsection'两个值,传入其他值会自动修正为button并输出警告;
  4. bgColor仅对button模式生效,bold仅对subsection模式生效,设置前需确认组件模式;
  5. 组件宽度默认100%,可通过父容器控制宽度,内部选项会自动均分宽度。

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。