console
const SearchInput = Vue.component('SearchInput', {
// 你的代码
props: ['selectList'],
template: `<div>
<select v-model="formData.selectValue">
<option v-for="(item, index) in selectList" :value="item.value">{{item.label}}</option>
</select>
<input v-model="formData.inputValue"/>
</div>`,
data: function () {
return {
formData: {
selectValue: '',
inputValue: '',
}
}
},
watch: {
formData: {
handler(e) {
this.$emit('change', e)
},
deep: true
}
}
})
const app = new Vue({
el: '#app',
components: { SearchInput },
template: `<div>
<SearchInput @change="change" :selectList="[
{ label: '全部', value: '' },
{ label: '图片', value: 'image' },
{ label: '视频', value: 'video' },
{ label: '音乐', value: 'audio' },
{ label: '文档', value: 'file' },
]"></SearchInput>
</div>`,
methods: {
change(v) {
console.log(v)
}
}
})
<div id="app"></div>