common-utils-kit 1.1.0 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/directives.js +26 -3
package/package.json
CHANGED
package/src/directives.js
CHANGED
|
@@ -1,6 +1,29 @@
|
|
|
1
|
-
|
|
1
|
+
|
|
2
2
|
// 自定义指令基础配置
|
|
3
3
|
const directives = {
|
|
4
|
+
debounce: { // 按钮或者输入框防抖
|
|
5
|
+
// 例子 <el-input v-model="aa" v-debounce="[reset,`input`,1000]" placeholder="输入框数组防抖" />
|
|
6
|
+
// <el-button v-debounce="[reset,`click`,1000]">刷新</el-button>
|
|
7
|
+
inserted: function(el, binding) {
|
|
8
|
+
const [fn, event = "click", time = 1000] = binding.value;
|
|
9
|
+
let timer;
|
|
10
|
+
let flag = true; // 输入法标记
|
|
11
|
+
if (event === "input") {
|
|
12
|
+
el.addEventListener("compositionstart", () => { // 监听中文输入开始
|
|
13
|
+
flag = false;
|
|
14
|
+
});
|
|
15
|
+
el.addEventListener("compositionend", () => { // 监听中文输入结束
|
|
16
|
+
flag = true;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
el.addEventListener(event, () => {
|
|
20
|
+
timer && clearTimeout(timer);
|
|
21
|
+
timer = setTimeout(() => {
|
|
22
|
+
if (flag) fn();
|
|
23
|
+
}, time);
|
|
24
|
+
});
|
|
25
|
+
},
|
|
26
|
+
},
|
|
4
27
|
inputDebounce: { // 输入框防抖
|
|
5
28
|
inserted: function (el, binding) {
|
|
6
29
|
const fn = binding.value;
|
|
@@ -117,7 +140,7 @@ const directives = {
|
|
|
117
140
|
delete el.__timeout__
|
|
118
141
|
}
|
|
119
142
|
},
|
|
120
|
-
|
|
143
|
+
replace: {//限制input输入内容
|
|
121
144
|
inserted: function (el, binding, vnode) {
|
|
122
145
|
const element = el.tagName === "INPUT" ? el : el.querySelector("input");
|
|
123
146
|
let flag = true; // 输入法标记
|
|
@@ -134,7 +157,7 @@ const directives = {
|
|
|
134
157
|
case "price": // 正负的两位小数金额 -和.只能出现一次 并且-只能在首位
|
|
135
158
|
element.value = element.value.replace(/^([-+])?\D*(\d*(?:\.\d{0,2})?).*$/, "$1$2");
|
|
136
159
|
break;
|
|
137
|
-
case "
|
|
160
|
+
case "plusPrice": // 验证正的两位小数金额
|
|
138
161
|
element.value = element.value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, "$1");
|
|
139
162
|
break;
|
|
140
163
|
case "num": // 只能输入正整数
|