vue自定义一个v-model

  1. 目标

    <template>
        <my-form v-model="form">
        </my-form>
    </template>
    <script>
        export default {
            data() {
                return {
                    form: ''
                }
            }
        }
    <script>
  2. 实现

    // my-form组件
    <template>
        <form>
            <input v-model="model.val1" />
            <textarea v-model="model.val2"></textarea>
        <form>
    </template>
    <script>
        export default {
            model: {
                prop: 'model',
                event: 'change'
            },
            props: {
                model: Object
            }
            watch: {
                model(val){
                    this.$emit('change', val)
                }
            }
        }
    <script>

猜你喜欢

转载自www.cnblogs.com/xyfun/p/9207142.html