UiTextarea.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <el-row class="form-group">
  3. <el-col style="padding-top:10px;" :span="3">
  4. <label style="margin-left:10px;vertical-align: middle;" class="control-label">{{label ? label : 'Textarea'}}</label>
  5. </el-col>
  6. <el-col :span="14">
  7. <el-input
  8. type="textarea"
  9. v-model="textarea"
  10. @change="selectChange"
  11. :placeholder="placeholder ? placeholder : ''"
  12. :disabled="disabled ? true : false"
  13. :name="name ? name : 'textarea'"
  14. :minlength="minlength ? parseInt(minlength) : 0"
  15. :maxlength="maxlength ? parseInt(maxlength) : 5000"
  16. :rows="rows ? parseInt(rows) : 2"
  17. :autosize="autosize ? autosize : false"
  18. :auto-complete="autoComplete ? 'on' : 'off'"
  19. :readonly="readonly ? true : false"
  20. :resize="resize ? resize : 'vertical'"
  21. :autofocus="autofocus ? true : false">
  22. </el-input>
  23. </el-col>
  24. <el-col :span="7">
  25. <div class="classJs">
  26. <div v-if="tips">
  27. <span class="red">*</span>&ensp;{{tips}}
  28. </div>
  29. </div>
  30. </el-col>
  31. </el-row>
  32. </template>
  33. <script>
  34. export default {
  35. props: ['label','value','placeholder','disabled','name','minlength','maxlength','rows','autosize','readonly','resize','autofocus','autoComplete','tips'],
  36. data() {
  37. return {
  38. textarea: this.value ? this.value : ''
  39. };
  40. },
  41. mounted() {
  42. },
  43. methods: {
  44. selectChange(value) {
  45. this.$emit('set-keys',value);
  46. },
  47. }
  48. }
  49. </script>
  50. <style scoped>
  51. .classJs {
  52. margin-left: 10px;
  53. vertical-align: middle;
  54. height:42px;
  55. line-height:42px;
  56. }
  57. .red{
  58. color: red;
  59. }
  60. </style>