From d14f625a1b80ac06bd582d40cee566ec1c19b19c Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Mon, 03 Mar 2025 14:23:05 +0800
Subject: [PATCH] 知识库文档,请求层基类微调

---
 forms/textarea/CTextArea.vue |   30 ++++++++++++++++++++++++------
 1 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/forms/textarea/CTextArea.vue b/forms/textarea/CTextArea.vue
index ef4d128..b6aec4b 100644
--- a/forms/textarea/CTextArea.vue
+++ b/forms/textarea/CTextArea.vue
@@ -4,21 +4,26 @@
  */
 
 <template>
-    <view class="c-textarea">
+    <view
+        class="c-textarea"
+        :class="readOnly?'read-only':''"
+    >
         <AtInput
             ref="input"
             :name="itemRes.name"
             :title="itemRes.label"
             :required="itemRes.required"
+            :disabled="itemRes.disabled"
             :error="itemRes.error"
         />
         <textarea
             ref="textarea"
             class="textarea"
-            :style="{height: areaHeight}"
+            :style="{minHeight: areaHeight, height: areaHeight}"
             :placeholder="placeholder"
             :value="itemRes.formData[itemRes.name]"
-            :autoFocus="true"
+            :autoFocus="false"
+            :autoHeight="true"
             @input="evt=>itemRes.onChange(evt.detail.value)"
         />
     </view>
@@ -36,19 +41,33 @@
         AtInput,
     },
     props: {
+        // 表单数据资源(表单组件内部机制专用)
+        itemRes: Object,
+        // 文本域输入区域高度
         height: {
             type: Number,
             default: 94,
         },
+        // 文本雨输入区行数
+        rows: Number,
+        // 只读模式
+        readOnly: {
+            type: Boolean,
+            default: false,
+        },
+        // 占位提示
         placeholder: String,
-        itemRes: Object,
     },
     data() {
         return {};
     },
     computed: {
         areaHeight() {
-            return Taro.pxTransform(this.height);
+            if (this.rows) {
+                return Taro.pxTransform(this.rows * 40, 750);
+            } else {
+                return Taro.pxTransform(this.height, 750);
+            }
         },
     },
     methods: {},
@@ -58,7 +77,6 @@
                 .find('.at-input__input')
                 .prepend(this.$refs.textarea.$el);
         } else if (process.env.TARO_ENV === 'weapp') {
-            console.log(this.$refs);
             $(this.$refs.input.$el)
                 .find('.at-input__container')
                 .append(this.$refs.textarea);

--
Gitblit v1.9.1