From 350d0dab6b45d17267b3291a19cd4aa2f28d9e77 Mon Sep 17 00:00:00 2001 From: Tevin <tingquanren@163.com> Date: Thu, 18 Apr 2024 10:29:44 +0800 Subject: [PATCH] 优化数值显示组件,支持点击事件 --- forms/textarea/CTextArea.vue | 38 +++++++++++++++++++++++++++++++++----- 1 files changed, 33 insertions(+), 5 deletions(-) diff --git a/forms/textarea/CTextArea.vue b/forms/textarea/CTextArea.vue index 854caea..03b27e6 100644 --- a/forms/textarea/CTextArea.vue +++ b/forms/textarea/CTextArea.vue @@ -10,21 +10,24 @@ :name="itemRes.name" :title="itemRes.label" :required="itemRes.required" + :disabled="itemRes.disabled" :error="itemRes.error" /> <textarea ref="textarea" class="textarea" - :style="{height: height || '94px'}" + :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> </template> <script> +import Taro from '@tarojs/taro'; import { $ } from '@tarojs/extend'; import { AtInput } from 'taro-ui-vue'; import './cTextArea.scss'; @@ -35,16 +38,41 @@ AtInput, }, props: { - height: String, - placeholder: String, + // 表单数据资源(表单组件内部机制专用) itemRes: Object, + // 文本域输入区域高度 + height: { + type: Number, + default: 94, + }, + // 文本雨输入区行数 + rows: Number, + // 占位提示 + placeholder: String, }, data() { return {}; }, + computed: { + areaHeight() { + if (this.rows) { + return Taro.pxTransform(this.rows * 40, 750); + } else { + return Taro.pxTransform(this.height, 750); + } + }, + }, 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') { + $(this.$refs.input.$el) + .find('.at-input__container') + .append(this.$refs.textarea); + } }, }; </script> \ No newline at end of file -- Gitblit v1.9.1