IStreamInput.vue 778 Bytes
Newer Older
hulei committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<template>
    <div>
        <c-input
            v-bind="$attrs"
            v-model="value"
            @change="onChange"
        ></c-input>
    </div>
</template>

<script>
export default {
    props:['model'],
    created:function(){
fukai committed
15 16
      if(!this.model)
        return;
hulei committed
17 18 19 20 21 22 23 24 25
      this.model["rows"] = this.model["rows"]||[];
    },
    data:function(){
        return {
            value:""
        }
    },
    methods:{
        onChange(){
fukai committed
26 27 28 29
          if(this.model && this.model.rows){
            this.model["rows"]=this.value.split("\n");
            this.$emit("change",this.value);
          }
hulei committed
30
        }
hulei committed
31 32 33 34 35 36
    },
    watch:{
        model:function(){
            let rows = this.model["rows"]||[];
            this.value=rows.join("\n");
        }
hulei committed
37 38 39 40
    }
    
}
</script>