【IMWeb训练营作业】 Vue2 Select demo

本文介绍了一个使用Vue.js实现的自定义下拉选择组件。该组件包括两个子组件:custom-select 和 custom-list。custom-select 负责展示输入框及按钮,并控制下拉列表的显示与隐藏;custom-list 则负责渲染并处理列表项的点击事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做的有点仓促,, 样式没整..

样子如下:

关键代码: 

Vue.component('custom-select', {
		data() {
			return {
				selectShow: false,
				value: ''
			}
		},
		props: ['btnValue', 'list'],
		template: `
		<div>
			<div>
				<input type="text" v-bind:value="value" @click="selectShow=!selectShow">
				<input type="submit" v-bind:value="btnValue">
			</div>
			<div>
			<custom-list v-show="selectShow" v-bind:list="list" v-on:selectChange="change"></custom-list>
			</div>
		</div>
		`,
		methods: {
			change(val) {
				this.value = val;
			}
		}
	});

	Vue.component('custom-list', {
		props: ['list'],
		template: `
		<ul>
			<li v-for="item in list" v-on:click="handler(item)">{{item}}</li>
		</ul>
		`,
		methods: {
			handler(item) {
				this.$emit('selectChange', item);
			}
		}
	});

	new Vue({
		el: '#app',
		data: {
			list1: ['哇哈哈', '呵呵']
		}
	})


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值