1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| <template>
| <el-col :md="mdSize" :lg="lgSize" v-if="config.visible">
| <el-form-item :label="config.filedDescription" :prop="config.name + '.value'" :rules="rules">
| <el-input :type="isTextArea" :rows="rows" v-model="svalue" :readonly="!config.writeAble" resize="none" @blur="valueToFixed"></el-input>
| </el-form-item>
| </el-col>
| </template>
|
| <script>
| export default {
| props: ['config', 'value', 'isTextArea', 'rows'],
| data: function() {
| return {
| mdSize: 12,
| lgSize: 8,
| }
| },
| computed: {
| svalue: {
| get() {
| return this.config.value
| },
| set(newVal) {
| this.config.value = newVal
| this.$emit('input', this.config)
| }
| },
| rules() {
| return { required: this.config.required, message: '请输入' + this.config.filedDescription, trigger: 'blur' }
| }
| },
| watch: {
| 'isTextArea': {
| immediate: true,
| handler(newVal) {
| if (newVal === 'textarea') {
| this.mdSize = 24
| this.lgSize = 24
| }
| }
| }
| },
| methods: {
| valueToFixed() {
| const { svalue } = this
| this.$emit('valueToFixed', svalue)
| }
| }
| }
| </script>
|
| <style scoped></style>
|
|