From b811fca742442b84f643d5af2afbb4e6f776fcdd Mon Sep 17 00:00:00 2001 From: Jasper Date: Sat, 6 Apr 2024 10:41:22 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E2=9C=A8=20`notice-bar`=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=9E=82=E7=9B=B4=E6=BB=9A=E5=8A=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ✅ Closes: #122 --- docs/component/notice-bar.md | 65 +++++++---- src/pages/noticeBar/Index.vue | 20 +++- .../components/wd-notice-bar/types.ts | 7 +- .../wd-notice-bar/wd-notice-bar.vue | 104 ++++++++++++++---- 4 files changed, 152 insertions(+), 44 deletions(-) diff --git a/docs/component/notice-bar.md b/docs/component/notice-bar.md index f48721795..34e407acb 100644 --- a/docs/component/notice-bar.md +++ b/docs/component/notice-bar.md @@ -80,6 +80,7 @@ ``` ## 多文本轮播 + 将一个`string[]`传递给`text`属性,即可开启多文本轮播,并且会在展示下一条文本时触发`next`事件,该事件接收一个`number`参数,代表的是当前展示的文本数组索引 ```html @@ -94,7 +95,8 @@ const textArray = ref([ '该组件库基于uniapp ->Vue3, ts构建', '项目地址:https://github.com/Moonofweisheng/wot-design-uni', '我们的目标是打造最强uniapp组件库', - '诚挚邀请大家共同建设' + '诚挚邀请大家共同建设', + '这是一条消息提示信息,这是一条消息提示信息,这是一条消息提示信息,这是一条消息提示信息,这是一条消息提示信息' ]) const onNext = (index: number) => { @@ -103,35 +105,56 @@ const onNext = (index: number) => { } ``` +## 垂直滚动 + +1. `direction`传递`vertical`即可开启垂直滚动,目前仅支持一个方向的垂直滚动 +2. `text`为数组时才会进行滚动 +3. 垂直滚动时会提供`vertical-{index}`的插槽,`text`有几个成员就有几个这样的插槽,索引从 0 开始 +4. **插槽内容不应该改变高度,例如设置 height、padding 等可能改变高度的样式,否则会导致滚动不准确** + +```html + + + + + + + +``` ## Attributes -| 参数 | 说明 | 类型 | 可选值 | 默认值 | 最低版本 | -| ---------------- | -------------------------------------- | ------- | ----------------------- | ------- | -------- | -| text | 设置通知栏文案 | `string` `string[]` | - | - | - | -| type | 设置通知栏类型 | `string` | info / warning / danger | warning | - | -| prefix | 设置左侧图标,使用 icon 章节中的图标名 | `string` | - | - | - | -| scrollable | 是否可以滚动 | `boolean` | - | true | - | -| delay | 滚动动画初始延时,单位 秒(s) | `number` | - | 1 | - | -| speed | 滚动速度,单位 px/s | `number` | - | 50 | - | -| closable | 是否可以关闭 | `boolean` | - | false | - | -| wrapable | 是否换行展示 | `boolean` | - | false | - | -| color | 文字、图标颜色 | `string` | - | - | - | -| background-color | 背景颜色 | `string` | - | - | - | +| 参数 | 说明 | 类型 | 可选值 | 默认值 | 最低版本 | +| ---------------- | -------------------------------------- | -------------------------- | ----------------------- | ------------ | -------- | +| text | 设置通知栏文案 | `string` `string[]` | - | - | - | +| type | 设置通知栏类型 | `string` | info / warning / danger | warning | - | +| prefix | 设置左侧图标,使用 icon 章节中的图标名 | `string` | - | - | - | +| scrollable | 是否可以滚动 | `boolean` | - | true | - | +| delay | 滚动动画初始延时,单位 秒(s) | `number` | - | 1 | - | +| speed | 滚动速度,单位 px/s | `number` | - | 50 | - | +| closable | 是否可以关闭 | `boolean` | - | false | - | +| wrapable | 是否换行展示 | `boolean` | - | false | - | +| color | 文字、图标颜色 | `string` | - | - | - | +| background-color | 背景颜色 | `string` | - | - | - | +| direction | 滚动方向 | `NoticeBarScrollDirection` | `horizontal` `vertical` | `horizontal` | - | ## Events -| 事件名称 | 说明 | 参数 | 最低版本 | -| ---------- | -------------- | ---- | -------- | -| close | 关闭按钮点击时 | - | - | -| next | 下一次滚动前触发 | index: `number` | - | +| 事件名称 | 说明 | 参数 | 最低版本 | +| -------- | ---------------- | --------------- | -------- | +| close | 关闭按钮点击时 | - | - | +| next | 下一次滚动前触发 | index: `number` | - | ## Slot -| name | 说明 | 最低版本 | -| ------ | -------- | -------- | -| prefix | 前置图标 | - | -| suffix | 后置插槽 | - | +| name | 说明 | 最低版本 | +| ---------------- | -------------------- | -------- | +| prefix | 前置图标 | - | +| suffix | 后置插槽 | - | +| vertical-\{index\} | 垂直滚动时提供的插槽 | - | ## 外部样式类 diff --git a/src/pages/noticeBar/Index.vue b/src/pages/noticeBar/Index.vue index 378f64921..0b1daac93 100644 --- a/src/pages/noticeBar/Index.vue +++ b/src/pages/noticeBar/Index.vue @@ -12,6 +12,7 @@ + + + + + + + + + + + + + +