44 lines
923 B
Vue
44 lines
923 B
Vue
|
<template>
|
||
|
<el-input
|
||
|
v-model="value"
|
||
|
type="textarea"
|
||
|
debounce
|
||
|
:rows="data.rows || 5"
|
||
|
:disabled="form_disabled[data.prop]"
|
||
|
:style="`width: ${data.width || '100%'}`"
|
||
|
:placeholder="data.placeholder"
|
||
|
@change="handlerChange"
|
||
|
/>
|
||
|
</template>
|
||
|
|
||
|
<script>
|
||
|
import { reactive, toRefs } from 'vue';
|
||
|
export default {
|
||
|
name: "TextareaComponent",
|
||
|
props: {
|
||
|
data: {
|
||
|
type: Object,
|
||
|
default: () => ({})
|
||
|
},
|
||
|
value: {
|
||
|
type: String,
|
||
|
default: ''
|
||
|
}
|
||
|
},
|
||
|
emits: ['update:value', 'callback'],
|
||
|
setup(props, { emit }){
|
||
|
const data = reactive({
|
||
|
value: '',
|
||
|
data: props.data
|
||
|
})
|
||
|
|
||
|
const handlerChange = (val) => {
|
||
|
emit("update:value", val)
|
||
|
}
|
||
|
return {
|
||
|
...toRefs(data),
|
||
|
handlerChange
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
</script>
|