From 02725eb3c7fefa44a4ff2df9807744def27420fa Mon Sep 17 00:00:00 2001
From: Tevin <tingquanren@163.com>
Date: Fri, 26 Mar 2021 14:35:36 +0800
Subject: [PATCH] 修复小程序模式下文本域显示异常的问题

---
 forms/textarea/CTextArea.vue  |   24 +++++++++++++++++++++---
 forms/textarea/cTextArea.scss |   11 +++++++++--
 2 files changed, 30 insertions(+), 5 deletions(-)

diff --git a/forms/textarea/CTextArea.vue b/forms/textarea/CTextArea.vue
index 854caea..ef4d128 100644
--- a/forms/textarea/CTextArea.vue
+++ b/forms/textarea/CTextArea.vue
@@ -15,7 +15,7 @@
         <textarea
             ref="textarea"
             class="textarea"
-            :style="{height: height || '94px'}"
+            :style="{height: areaHeight}"
             :placeholder="placeholder"
             :value="itemRes.formData[itemRes.name]"
             :autoFocus="true"
@@ -25,6 +25,7 @@
 </template>
 
 <script>
+import Taro from '@tarojs/taro';
 import { $ } from '@tarojs/extend';
 import { AtInput } from 'taro-ui-vue';
 import './cTextArea.scss';
@@ -35,16 +36,33 @@
         AtInput,
     },
     props: {
-        height: String,
+        height: {
+            type: Number,
+            default: 94,
+        },
         placeholder: String,
         itemRes: Object,
     },
     data() {
         return {};
     },
+    computed: {
+        areaHeight() {
+            return Taro.pxTransform(this.height);
+        },
+    },
     methods: {},
     mounted() {
-        $(this.$refs.input.$el).find('.at-input__input').prepend(this.$refs.textarea.$el);
+        if (process.env.TARO_ENV === 'h5') {
+            $(this.$refs.input.$el)
+                .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);
+        }
     },
 };
 </script>
\ No newline at end of file
diff --git a/forms/textarea/cTextArea.scss b/forms/textarea/cTextArea.scss
index 5ba80f8..f3ab430 100644
--- a/forms/textarea/cTextArea.scss
+++ b/forms/textarea/cTextArea.scss
@@ -6,17 +6,24 @@
 @import "../../common/sassMixin";
 
 .c-textarea {
-    .at-input__input {
-        .weui-input {
+    .at-input__container {
+        .weui-input,
+        input {
             display: none;
         }
         .textarea {
+            flex: 1;
             width: 100%;
             height: 94px;
+            padding-right: 18rpx;
+            font-size: 32px;
             textarea {
                 resize: none;
                 @include flexbox(flex, center center);
             }
+            .textarea-placeholder {
+                color: #ccc;
+            }
         }
     }
     .at-input__icon {

--
Gitblit v1.9.1