<template> <div> <c-input v-bind="$attrs" v-model="value" @change="onChange" ></c-input> </div> </template> <script> export default { props:['model'], created:function(){ if(!this.model) return; this.model["rows"] = this.model["rows"]||[]; }, data:function(){ return { value:"" } }, methods:{ onChange(){ if(this.model && this.model.rows){ this.model["rows"]=this.value.split("\n"); this.$emit("change",this.value); } } }, watch:{ model:function(){ let rows = this.model["rows"]||[]; this.value=rows.join("\n"); } } } </script>