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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/src/directives.js +26 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "common-utils-kit",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "type": "module",
package/src/directives.js CHANGED
@@ -1,6 +1,29 @@
1
- // import ElTableInfiniteScroll from "el-table-infinite-scroll";
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
- bb: {//限制input输入内容
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 "+price": // 验证正的两位小数金额
160
+ case "plusPrice": // 验证正的两位小数金额
138
161
  element.value = element.value.replace(/^\D*(\d*(?:\.\d{0,2})?).*$/g, "$1");
139
162
  break;
140
163
  case "num": // 只能输入正整数