UNPKG

@tanzhenxing/zx-list-item

Version:

一个基于 uni-app、Vue3 <script setup> 语法开发的高兼容性列表项组件,适配 H5、小程序、App。可嵌入于 zx-list 组件中,支持丰富的内容、图标、角标、开关、跳转等功能,适合自定义各类列表场景。

101 lines (89 loc) 4.56 kB
# zx-list-item 列表项组件 一个基于 uni-app、Vue3 <script setup> 语法开发的高兼容性列表项组件,适配 H5、小程序、App。可嵌入于 zx-list 组件中,支持丰富的内容、图标、角标、开关、跳转等功能,适合自定义各类列表场景。 ## ✨ 组件特性 - 支持多端(H5、App、各类小程序) - 可插入 zx-list 作为列表项 - 支持标题、描述、图标、角标、右侧内容、开关、跳转等 - 事件丰富,便于扩展 - 不依赖浏览器特有 DOM - 使用 Vue3 <script setup> 语法 ## 📦 属性(Props) | 属性名 | 类型 | 默认值 | 说明 | |----------------|----------------|----------|------------------------------| | title | String | '' | 标题 | | note | String | '' | 描述 | | ellipsis | Number/String | 0 | 标题省略行数(0不省略) | | disabled | Boolean/String | false | 是否禁用 | | clickable | Boolean | false | 是否开启点击反馈 | | showArrow | Boolean/String | false | 是否显示右侧箭头 | | link | Boolean/String | false | 是否跳转/跳转类型 | | to | String | '' | 跳转目标页面 | | showBadge | Boolean/String | false | 是否显示数字角标 | | badgeText | String | '' | 角标内容 | | badgeType | String | 'success'| 角标类型 | | badgeStyle | Object | {} | 角标样式 | | rightText | String | '' | 右侧文字内容 | | thumb | String | '' | 左侧缩略图 | | thumbSize | String | 'base' | 缩略图大小(lg/base/sm) | | showExtraIcon | Boolean/String | false | 是否显示扩展图标 | | extraIcon | Object | {type:'',color:'#000',size:20,customPrefix:''} | 扩展图标参数 | | border | Boolean | true | 是否显示左侧边框 | | customStyle | Object | {padding:'',backgroundColor:'#fff'} | 自定义样式 | | showSwitch | Boolean/String | false | 是否显示Switch | | switchChecked | Boolean/String | false | Switch是否被选中 | | keepScrollPosition | Boolean | false | nvue下cell是否保持滚动位置 | | direction | String | 'row' | 排版方向 row/column | ## 🧲 事件(Events) | 事件名 | 说明 | 回调参数 | |----------------|----------------|----------| | click | 点击项时触发 | {data} | | switchChange | 切换Switch时 | e.detail | ## 🧩 插槽(Slots) - header:自定义左侧内容 - body:自定义中间内容 - footer:自定义右侧内容 ## 🛠️ 平台兼容性 - H5 - App(iOS/Android) - 微信/支付宝/百度/抖音/QQ/快手等主流小程序 ## 🚀 基础用法 ```vue <template> <zx-list> <zx-list-item title="标题" note="描述" right-text="更多" /> <zx-list-item title="带图标" thumb="https://cdn.uviewui.com/uview/common/logo.png" /> <zx-list-item title="可点击" clickable @click="onItemClick" /> </zx-list> </template> <script setup> import zxList from '@/components/zx-list/zx-list.vue' import zxListItem from '@/components/zx-list-item/zx-list-item.vue' function onItemClick(e) { // 处理点击 } </script> ``` ## 🌈 插槽自定义内容 ```vue <zx-list-item> <template #header> <image src="..." style="width:24px;height:24px;" /> </template> <template #body> <view>自定义内容</view> </template> <template #footer> <text>右侧自定义</text> </template> </zx-list-item> ``` ## 🎯 跳转用法 ```vue <zx-list-item title="跳转页面" link="navigateTo" to="/pages/demo/index" clickable /> ``` ## 💡 注意事项 - 需配合 zx-list 组件使用,便于统一列表风格。 - 组件已使用 <script setup> 语法,推荐配合 Vue3/uni-app3 项目使用。 - nvue 平台下部分属性/事件才生效,详见 uni-app 官方文档。 --- 如需更复杂的列表项样式,建议配合自定义插槽或样式扩展。