【IMWeb训练营作业】【Vue】Select组件

核心代码

index.html

< div class = "main" >
< div class = "wrapper" >
< h3 class = "title" >自定义下拉框1 </ h3 >
< custom-select btn = "查询" : list = "list1" ></ custom-select >
</ div >
< div class = "wrapper" >
< h3 class = "title" >自定义下拉框2 </ h3 >
< custom-select btn = "搜索" : list = "list2" ></ custom-select >
</ div >
</ div >

app.js



Vue. component( 'custom-select', {
data() {
return {
selectShow: false,
inputValue: ''
}
},
props: [
'btn',
'list'
],
template: `
<section>
<input
type="text"
:value="inputValue"
/>
<input type="button"
:value="btn"
@click="selectShow =!selectShow"
/>
<custom-list
:list="list"
@receive="changeValueHandler"
v-show="selectShow"
>
</custom-list>
</section>
`,
methods: {
changeValueHandler( item) {
this.inputValue = item;
this.selectShow = ! this.selectShow;
}
}
});

Vue. component( 'custom-list', {
props: [ 'list'],
template: `
<ul class="list">
<li v-for="item of list" @click="selectValueHandler(item)">{{item}}</li>
</ul>
`,
methods: {
selectValueHandler( item) {
this. $emit( 'receive', item);
}
}
});


new Vue({
el: '.main',
data: {
list1: [ 'React', 'Vue', 'Angular'],
list2: [ '木卫2', '土卫2']
}
});



运行效果

https://code.hcharts.cn/public/455mom


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值