From 899c7476cfdcbf35f23c1e49e6582cdbc8cfdbeb Mon Sep 17 00:00:00 2001
From: chensiAb <chenchenco03@163.com>
Date: Mon, 13 Jan 2025 17:39:20 +0800
Subject: [PATCH] fix:千分位方法-表达式写法

---
 forms/input/CInput.vue |   21 ++++++++++++++++-----
 1 files changed, 16 insertions(+), 5 deletions(-)

diff --git a/forms/input/CInput.vue b/forms/input/CInput.vue
index 95f98ff..211d760 100644
--- a/forms/input/CInput.vue
+++ b/forms/input/CInput.vue
@@ -6,7 +6,7 @@
 <template>
     <view
         class="c-input"
-        :class="unit?'c-input-unit':''"
+        :class="[unit?'c-input-unit':'', readOnly?'read-only':'']"
     >
         <AtInput
             :name="itemRes.name"
@@ -17,7 +17,7 @@
             :error="itemRes.error"
             :cursorSpacing="0"
             :value="value"
-            :onChange="evt => hanldeChange(evt)"
+            :onChange="evt => handleChange(evt)"
         >
             <slot v-if="!unit" />
             <text
@@ -46,15 +46,26 @@
         placeholder: String,
         // 输入框单位
         unit: String,
+        // 只读模式
+        readOnly: {
+            type: Boolean,
+            default: false,
+        },
     },
     computed: {
         value() {
-            return (itemRes.formData[itemRes.name] || '').replace(/[\n\r]/g, '');
+            return ((this.itemRes.formData[this.itemRes.name] || '') + '').replace(
+                /[\n\r]/g,
+                ''
+            );
         },
     },
     methods: {
-        hanldeChange(evt) {
-            const changeValue = (evt || '').replace(/[\n\r]/g, '');
+        handleChange(evt) {
+            // 去除首尾空格,小程序中还可以粘贴换行符进来
+            const changeValue = ((evt || '') + '')
+                .replace(/^\s+|\s+$/g, '')
+                .replace(/[\n\r\t]/g, '');
             this.itemRes.onChange(changeValue);
         },
     },

--
Gitblit v1.9.1