父组件写法:
<level-select v-model="value"></level-select>
子组件写法:
<template>
<Select :value="level" @on-change="change">
<Option v-for="l in levels" :value="l.value" :key="'key' + l.value">{{l.label}}</Option>
</Select>
</template>
<script>
export default {
name: 'levelSelect',
data () {
return {
levels: [
{label: '一级', value: 1},
{label: '二级', value: 2},
{label: '三级', value: 3},
{label: '四级', value: 4}
]
}
},
model: {
prop: 'level',
event: 'up'
},
props: {
level: null
},
methods: {
change (v) {
this.$emit('up', v)
}
}
}
</script>