1.0.2 • Published 11 months ago

@tanzhenxing/zx-capsule v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
11 months ago

zx-capsule 胶囊组件

一个跨平台的胶囊组件,支持微信小程序、H5和APP,可用于自定义导航栏、悬浮按钮等场景。

特性

  • 支持微信小程序、H5和APP多端适配
  • 自动获取微信小程序原生胶囊位置和尺寸
  • 支持自定义尺寸、位置、样式
  • 可固定定位或普通定位
  • 提供丰富的自定义样式属性
  • 支持内容插槽

安装

npm install @tanzhenxing/zx-capsule

基本用法

引入组件

<template>
  <zx-capsule>
    <view>胶囊内容</view>
  </zx-capsule>
</template>

<script>
import zxCapsule from '@tanzhenxing/zx-capsule/zx-capsule.vue';

export default {
  components: {
    zxCapsule
  }
}
</script>

使用 setup 语法

<template>
  <zx-capsule>
    <view>胶囊内容</view>
  </zx-capsule>
</template>

<script setup>
import zxCapsule from '@tanzhenxing/zx-capsule/zx-capsule.vue';
</script>

组件属性

属性名类型默认值说明
backgroundColorStringtransparent胶囊背景颜色
widthNumber0自定义宽度,为0时使用系统宽度或默认值
heightNumber0自定义高度,为0时使用系统高度或默认值
fixedBooleanfalse是否使用固定定位
autoPositionBooleantrue是否根据系统胶囊位置自动定位(小程序有效)
rightNumber10自定义右边距
topNumber0自定义上边距
borderRadiusNumber100圆角大小
borderColorStringtransparent边框颜色
borderWidthNumber0边框宽度
shadowBooleanfalse是否显示阴影

事件

事件名说明返回值
created组件创建完成时触发胶囊信息对象 (width, height, top, right 等)
update胶囊信息更新时触发胶囊信息对象 (width, height, top, right 等)

使用示例

基础用法

<zx-capsule background-color="#F5F5F5">
  <view>基础胶囊</view>
</zx-capsule>

自定义尺寸

<zx-capsule :width="150" :height="40" background-color="#E1F5FE">
  <view>自定义尺寸</view>
</zx-capsule>

自定义样式

<zx-capsule 
  background-color="#FFF8E1" 
  border-color="#FFC107"
  :border-width="1"
  :border-radius="8"
  :shadow="true">
  <view>自定义样式</view>
</zx-capsule>

固定定位

<zx-capsule 
  :fixed="true" 
  :auto-position="true"
  background-color="rgba(0,0,0,0.7)"
  @created="onCapsuleCreated">
  <view style="color: #fff;">固定胶囊</view>
</zx-capsule>

获取胶囊信息

<template>
  <zx-capsule @created="onCapsuleCreated">
    <view>获取胶囊信息</view>
  </zx-capsule>
</template>

<script setup>
const onCapsuleCreated = (info) => {
  console.log('胶囊信息', info);
  // info: { width, height, top, right, bottom, left }
};
</script>

注意事项

  1. 在微信小程序中,组件会自动获取原生胶囊的位置和尺寸
  2. 在H5和APP中,组件使用默认尺寸和状态栏位置进行布局
  3. 使用 fixed 属性时,组件会使用固定定位,可以配合 autoPosition 属性自动定位
  4. 组件内部使用了条件编译,根据不同平台提供不同实现
  5. 若要完全自定义样式,可以设置 widthheighttopright 等属性

应用场景

  1. 自定义导航栏
  2. 悬浮按钮
  3. 小程序胶囊位置适配
  4. 跨平台UI统一
1.0.2

11 months ago

1.0.1

2 years ago