|
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- <template>
- <view v-if="!simpleMode" :class="className" :style="style">
- <view class="cu-form-group" style="border-bottom: none; padding-bottom: 0;">
- <view class="title">
- <text v-if="required" style="color: red; font-size: 1.2em;">*</text>
- {{ title || '' }}
- </view>
- </view>
-
- <view class="cu-form-group" style="position: relative;border-top: none">
- <textarea
- @input="textareaInput"
- :maxlength="maxlength"
- :placeholder="displayPlaceHolder"
- :value="value"
- :auto-height="autoHeight"
- :disabled="readonly"
- :enableNative="false"
- style="margin-top: 0; border-top: none"
- controlled
- ></textarea>
- </view>
- </view>
-
- <view v-else :class="className" :style="style" class="cu-form-group" style="position: relative;">
- <textarea
- @input="textareaInput"
- :maxlength="maxlength"
- :placeholder="displayPlaceHolder"
- :fixed="fixed"
- :value="value"
- :style="textareaStyle"
- :auto-height="autoHeight"
- :disabled="readonly"
- :enableNative="false"
- controlled
- ></textarea>
- </view>
- </template>
-
- <script>
- export default {
- name: 'l-textarea',
-
- props: {
- maxlength: { default: -1 },
- readonly: {},
- placeholder: {},
- fixed: {},
- value: {},
- textareaStyle: {},
- autoHeight: {},
- simpleMode: {},
- required: {},
- title: {},
- disabled: {}
- },
-
- methods: {
- textareaInput(e) {
- this.$emit('change', e.detail.value)
- this.$emit('input', e.detail.value)
- }
- },
-
- computed: {
- displayPlaceHolder() {
- if (this.readonly) {
- return ''
- }
-
- if (this.placeholder) {
- return this.placeholder
- }
-
- return !this.simpleMode && this.title ? `请输入${this.title}` : '请输入…'
- }
- }
- }
- </script>
|