Skip to content

Commit 7edc746

Browse files
author
xuqingkai
committed
feat: ✨ NumberKeyboard数字键盘增加名为title的插槽
Closes: #213
1 parent e3daed5 commit 7edc746

File tree

3 files changed

+53
-9
lines changed

3 files changed

+53
-9
lines changed

docs/component/number-keyboard.md

Lines changed: 33 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,30 @@ const onInput = (value) => showToast(`${value}`)
9292
const onDelete = () => showToast('删除')
9393
```
9494

95+
## 使用 slot 自定义标题
96+
97+
```html
98+
<wd-cell title="使用 slot 自定义标题" is-link @click="showKeyBoard" />
99+
100+
<wd-number-keyboard v-model:visible="visible" extra-key="." close-text="完成" @input="onInput" @delete="onDelete">
101+
<template #title>
102+
<text style="color: red">自定义标题</text>
103+
</template>
104+
</wd-number-keyboard>
105+
```
106+
107+
```ts
108+
const { show: showToast } = useToast()
109+
const visible = ref<boolean>(false)
110+
111+
function showKeyBoard() {
112+
visible.value = true
113+
}
114+
115+
const onInput = (value) => showToast(`${value}`)
116+
const onDelete = () => showToast('删除')
117+
```
118+
95119
## 多个额外按键
96120

97121
`mode``custom` 时,支持以数组的形式配置两个 `extra-key`
@@ -175,7 +199,6 @@ const onDelete = () => showToast('删除')
175199
当前`modal`仅控制遮罩是否为透明,`hideOnClickOutside`控制弹窗是否有遮罩,当存在遮罩时,点击遮罩就可以关闭键盘,但是键盘展开时必须点击遮罩关闭当前键盘后才可以再点击别的按钮。也可以关闭`hideOnClickOutside`,手动控制键盘是否展示来实现点击外部时收起键盘,这样更灵活。
176200
:::
177201

178-
179202
```html
180203
<wd-cell title="双向绑定" :value="value1" is-link @click="showKeyBoard" />
181204
<wd-number-keyboard :modal="true" :hide-on-click-outside="true" v-model:visible="visible" @input="onInput" @delete="onDelete" />
@@ -215,6 +238,12 @@ const onDelete = () => showToast('删除')
215238
| safeAreaInsetBottom | 是否在底部安全区域内 | `boolean` | - | `true` | 0.1.65 |
216239
| extraKey | 额外按键 | `string` / `string[]` | - | - | 0.1.65 |
217240

241+
## Slot
242+
243+
| name | 说明 | 类型 | 最低版本 |
244+
| ----- | ---- | ---- | -------- |
245+
| title | 标题 | - | 1.2.12 |
246+
218247
## Events
219248

220249
| 事件名称 | 说明 | 参数 | 最低版本 |
@@ -225,8 +254,7 @@ const onDelete = () => showToast('删除')
225254

226255
## 外部样式类
227256

228-
| 类名 | 说明 | 最低版本 |
229-
| ------------ | ---------- | -------- |
257+
| 类名 | 说明 | 最低版本 |
258+
| ------------ | ------------ | -------- |
230259
| custom-class | 根节点样式类 | 0.1.65 |
231-
| custom-style | 根节点样式 | 0.1.65 |
232-
260+
| custom-style | 根节点样式 | 0.1.65 |

src/pages/numberKeyboard/Index.vue

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
<wd-cell title="带右侧栏的键盘" is-link @click="showKeyBoard(2)" />
99
<wd-cell title="身份证键盘" is-link @click="showKeyBoard(3)" />
1010
<wd-cell title="带标题的键盘" is-link @click="showKeyBoard(4)" />
11+
<wd-cell title="slot自定义标题" is-link @click="showKeyBoard(9)" />
1112
<wd-cell title="多个额外按键" is-link @click="showKeyBoard(5)" />
1213
<wd-cell title="随机数字键盘" is-link @click="showKeyBoard(6)" />
1314
<wd-cell title="双向绑定" clickable :value="value1" @click="showKeyBoard(7)" />
@@ -25,7 +26,19 @@
2526
@delete="onDelete"
2627
></wd-number-keyboard>
2728
<wd-number-keyboard v-model:visible="visible3" extra-key="X" close-text="完成" @input="onInput" @delete="onDelete" />
28-
<wd-number-keyboard v-model:visible="visible4" title="输入密码" extra-key="." close-text="完成" @input="onInput" @delete="onDelete" />
29+
<wd-number-keyboard
30+
v-model:visible="visible4"
31+
title="输入密码"
32+
extra-key="."
33+
close-text="完成"
34+
@input="onInput"
35+
@delete="onDelete"
36+
></wd-number-keyboard>
37+
<wd-number-keyboard v-model:visible="visible9" extra-key="." close-text="完成" @input="onInput" @delete="onDelete">
38+
<template #title>
39+
<text style="color: red">自定义标题</text>
40+
</template>
41+
</wd-number-keyboard>
2942

3043
<wd-number-keyboard v-model:visible="visible5" mode="custom" :extra-key="['00', '.']" close-text="完成" @input="onInput" @delete="onDelete" />
3144

@@ -40,7 +53,7 @@
4053
close-text="完成"
4154
@input="onInput"
4255
@delete="onDelete"
43-
/>
56+
></wd-number-keyboard>
4457

4558
<wd-number-keyboard :modal="true" v-model:visible="visible8" @input="onInput" @delete="onDelete" />
4659
</page-wraper>
@@ -57,8 +70,9 @@ const visible5 = ref<boolean>(false)
5770
const visible6 = ref<boolean>(false)
5871
const visible7 = ref<boolean>(false)
5972
const visible8 = ref<boolean>(false)
73+
const visible9 = ref<boolean>(false)
6074
61-
const visibleArr = [visible1, visible2, visible3, visible4, visible5, visible6, visible7, visible8]
75+
const visibleArr = [visible1, visible2, visible3, visible4, visible5, visible6, visible7, visible8, visible9]
6276
6377
const value1 = ref<string>('')
6478

src/uni_modules/wot-design-uni/components/wd-number-keyboard/wd-number-keyboard.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@
1111
>
1212
<view :class="`wd-number-keyboard ${customClass}`" :style="customStyle">
1313
<view class="wd-number-keyboard__header" v-if="showTitle">
14-
<text class="wd-number-keyboard__title">{{ title }}</text>
14+
<slot name="title">
15+
<text class="wd-number-keyboard__title">{{ title }}</text>
16+
</slot>
1517
<view class="wd-number-keyboard__close" hover-class="wd-number-keyboard__close--hover" v-if="showClose" @click="handleClose">
1618
<text>{{ closeText }}</text>
1719
</view>

0 commit comments

Comments
 (0)