Skip to content

Commit c7d3add

Browse files
SpikeMeowjevin98
authored andcommitted
!310 feat(inputNumber): 新增indicator属性
* 在输入框上新增 title 属性,用来显示长文本 * 修复疏漏,isBlur默认为 true * 1.inputType变量命名改为isBlur。 * feat(layui-vue): inputNumber 支持显示后缀
1 parent 6b454f2 commit c7d3add

File tree

3 files changed

+34
-2
lines changed

3 files changed

+34
-2
lines changed

docs/document-component/src/document/zh-CN/components/inputNumber.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -136,13 +136,15 @@
136136

137137
:::
138138

139-
::: title 精度
139+
::: title 精度与后缀
140140
:::
141141

142-
::: demo `precision` 设置 precision 属性可以控制数值精度,接收一个 Number。
142+
::: demo `precision` 设置 precision 属性可以控制数值精度,接收一个 Number。可以同时使用 `indicator` 设置一个后缀。
143143

144144
<template>
145145
<lay-input-number v-model="data12" :precision="2" :step="0.1" :max="10"></lay-input-number>
146+
<lay-input-number v-model="data12" :precision="2" :step="0.1" :max="10" indicator="%"></lay-input-number>
147+
<lay-input-number v-model="data12" :precision="2" :step="0.1" :max="10" indicator="" position="right"></lay-input-number>
146148
</template>
147149

148150
<script>
@@ -208,6 +210,7 @@
208210
| min | 最小可输入的数 | `number` | -- |
209211
| max | 最大可输入的数 | `number` | -- |
210212
| size | 尺寸, 可选值`md` / `sm` / `xs`| `string` | 默认为最大尺寸 |
213+
| indicator | 后缀标识 | `string` | -- |
211214

212215
:::
213216

packages/component/src/component/inputNumber/index.less

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@
2222
height: @size;
2323
width: @width;
2424

25+
.layui-input-number-indicator {
26+
pointer-events: none;
27+
position: absolute;
28+
height: 100%;
29+
top: 0;
30+
line-height: @size;
31+
text-align: center;
32+
background-color: #fff;
33+
width: @width;
34+
overflow: hidden;
35+
}
36+
2537
.layui-input {
2638
height: @size;
2739
line-height: @size;
@@ -45,6 +57,11 @@
4557
line-height: @right-size;
4658
}
4759

60+
.layui-input-number-indicator {
61+
left: 0;
62+
width: calc(@width - @right-size - calc(@size / 2));
63+
}
64+
4865
.layui-subtraction-btn {
4966
top: @right-size - 1;
5067
}

packages/component/src/component/inputNumber/index.vue

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export interface InputNumberProps {
2121
position?: "right";
2222
min?: number;
2323
max?: number;
24+
indicator?: string;
2425
}
2526
2627
defineOptions({
@@ -35,9 +36,11 @@ const props = withDefaults(defineProps<InputNumberProps>(), {
3536
stepStrictly: false,
3637
min: -Infinity,
3738
max: Infinity,
39+
indicator: "",
3840
});
3941
4042
const { size } = useProps(props);
43+
const isBlur = ref(true);
4144
4245
const emit = defineEmits([
4346
"update:modelValue",
@@ -201,10 +204,12 @@ const onChange = (value: string) => {
201204
202205
const onBlur = (event: FocusEvent) => {
203206
emit("blur", event);
207+
isBlur.value = true;
204208
};
205209
206210
const onFocus = (event: FocusEvent) => {
207211
emit("focus", event);
212+
isBlur.value = false;
208213
};
209214
210215
const addition = () => {
@@ -262,6 +267,7 @@ const maxDisabled = computed(() => {
262267
</lay-button>
263268
<div class="layui-input-number-input">
264269
<lay-input
270+
:title="`${inputValue}${indicator}`"
265271
:max="max"
266272
:min="min"
267273
:name="name"
@@ -274,6 +280,12 @@ const maxDisabled = computed(() => {
274280
@focus="onFocus"
275281
type="number"
276282
/>
283+
<div
284+
class="layui-input-number-indicator"
285+
v-if="isBlur && !!indicator"
286+
>
287+
{{ `${inputValue}${indicator}` }}
288+
</div>
277289
</div>
278290
<lay-button
279291
size="lg"

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy