From b43f9a8acb903365020f9821f40f99b83461f50c Mon Sep 17 00:00:00 2001
From: youmengting <2080639302@qq.com>
Date: Mon, 3 Jul 2023 16:17:26 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=95=86=E6=88=B7=E5=9C=B0?=
=?UTF-8?q?=E5=9B=BE=E5=B1=95=E7=A4=BA=E7=9A=84=E4=B8=8A=E6=8B=89=E6=93=8D?=
=?UTF-8?q?=E4=BD=9C=EF=BC=8C=E4=BB=A5=E5=8F=8A=E5=9B=BE=E6=A0=87=E5=88=87?=
=?UTF-8?q?=E6=8D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/touchbox/readme.md | 41 +++
components/touchbox/touchbox.vue | 244 +++++++++++++++++
pages/tabBar/category/category.vue | 408 ++++++++++++-----------------
3 files changed, 457 insertions(+), 236 deletions(-)
create mode 100644 components/touchbox/readme.md
create mode 100644 components/touchbox/touchbox.vue
diff --git a/components/touchbox/readme.md b/components/touchbox/readme.md
new file mode 100644
index 0000000..161135b
--- /dev/null
+++ b/components/touchbox/readme.md
@@ -0,0 +1,41 @@
+# you-touchbox
+
+对nvue做了些兼容处理,但还不成熟,nvue下transition失效的问题无法解决,请大佬指点(现阶段不建议在nvue中使用本插件,问题多多,nvue中遇到问题可以反馈,我尽力实现需求)
+
+***所有像素值参数都不要传单位**
+
+***一切计算以`可使用窗口高度`为基准**,即`uni.getSystemInfoSync().windowHeight`
+
+***上拉框盒子高度默认为`可使用窗口高度`**,可以通过`customStyle`属性设置
+
+**属性**
+
+| 参数 | 说明 | 类型 | 默认值 |
+| -------------- | :----------------------- | ---------------------------------- | ------------------------------------------------------------ |
+| customStyle | 自定义样式 | String\|Object | -
border-radius若要兼容nvue请使用
border-top-left-radius,border-top-right-radius分开写 |
+| initTop | 初始top值 | Number\|String\|
'min'\|'max' | 默认值为'min',
initTop为首次加载时,上拉框显示的高度,
所以一般设置为与maxTop或minTop一致,
参数可传百分比,像素值,字符串'min''max'
max为与maxTop一致,
min为与minTop一致
0~1为百分比,大于1为像素值,
百分比以可使用窗口高度计算,
像素值为可使用窗口的顶部位置往下偏移 |
+| maxTop | 最高top值 | Numbe\|String | 默认为可使用窗口的顶部位置,
参数可传百分比和像素值,
0~1为百分比,大于1为像素值,
百分比以可使用窗口高度计算,
像素值为可使用窗口的顶部位置往下偏移 |
+| minTop | 最低top值 | Number\|String | 默认为可用区域50%,
参数可传百分比和像素值,
0~1为百分比,大于1为像素值,
百分比以可使用窗口高度计算,
像素值为可使用窗口的底部位置往上的偏移 |
+| auto | 是否开启自动复位 | Boolean | true,开启时松手会自动复位到最高最低状态 |
+| limit | 是否开启滑动范围限制 | Boolean | true,开启时滑动范围不可超过maxTop和minTop |
+| customSafeArea | 自定义navbar、tabbar高度 | Object | 如果使用了自定义navbar和tabbar,可以手动设置安全区域 |
+| h5Top | customSafeArea的属性 | Number | -
H5的自定义navbar高度 |
+| mpTop | customSafeArea的属性 | Number\|'menuBtn' | -
小程序的自定义navbar高度
特殊值字符串menuBtn的效果为微信小程序原生navbar的高度
|
+| bottom | customSafeArea的属性 | Number | -
自定义tabbar高度
因为H5和小程序的navbar高度不一致才需要分开配置,而tabbar一般是一致的,所以不区分 |
+| zIndex | 上拉框z-index | Number\|String | 100 |
+| disable | 禁用滑动 | Boolean | false |
+
+**事件**
+
+| 事件名 | 说明 | 参数 |
+| -------------- | ------------------------------------------------------------ | -------------------------------- |
+| get-end-detail | 获取滑动结束时top信息对象
maxTop:最大高度top
minTop:最小高度top
curTop:当前高度top | Function({maxTop,minTop,curTop}) |
+
+**方法**
+
+此方法要通过ref手动改调用
+
+| 方法名 | 说明 | 参数 |
+| --------- | ------------------------------------------------------------ | ----------------- |
+| setBottom | 手动设置上拉框高度,参数值传百分比和像素值(不带单位),
百分比以可使用窗口高度计算,
像素值为可使用窗口的底部位置往上的偏移 | Function(value) |
+
diff --git a/components/touchbox/touchbox.vue b/components/touchbox/touchbox.vue
new file mode 100644
index 0000000..11cb69a
--- /dev/null
+++ b/components/touchbox/touchbox.vue
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages/tabBar/category/category.vue b/pages/tabBar/category/category.vue
index 58c1cc8..e4d6b96 100644
--- a/pages/tabBar/category/category.vue
+++ b/pages/tabBar/category/category.vue
@@ -1,218 +1,113 @@
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+ {{selectFirstName}}
+
+
+
+ {{distanceName}}
+
+
+
+
+
-
-
-
-
-
-
-
-
- {{item.name}}
-
-
+
+
+
+
+
+
+
+
+ {{item.name}}
-
-
-
-
-
-
- {{item.title}}
-
-
+
+
+
+
+
+
+
+
+ {{item.title}}
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-