【vue】怎么给vue自定义组件加上v-model?

组件内部使用model对象,event是触发的事件,名字随意,prop是data里边的变量,名字随意。其他没写的data属性不用在意,因为是从项目里拿出来的,为了让model更清晰,就删掉了。主要看箭头指向部分。

<template>
    <div>
        <Selector 
            :options="options"
            @changeSelect="changeSelect"// < ====================
            :selectedValue="myValue"// < ====================
            :key="options.length" 
            value="value" 
            label="label" 
            title="房屋状态">
        </Selector>
    </div>
</template>
<script>
export default {
    model:{// < ====================
        event:"myChange",// < ====================
        prop:"value"// < ====================
    },
    props:{
    	value:[String,Number]
    },
    watch:{
    	value:{
    		handler(val){
				this.myValue = val
			},
    	}
    },
    data(){
        return {
            myValue:""// < ====================
        }
    },
    methods:{
		changeSelect(val){
            this.$emit("myChange",val)// < ====================
		}
	}
}
</script>

这时外部直接引用这个组件就可以使用自定义组件v-model了
上一篇:js获取指定月最后一天的日期
下一篇:vue子组件修改父组件数据,不使用v-model的形式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值