uniapp封装一个listcell组件,并带有点击方法
时间: 2023-06-26 15:05:47 浏览: 81
基于uniapp封装的自适应table组件
好的,以下是一个示例的uni-app ListCell组件的代码:
```html
<template>
<view class="list-cell" @click="handleClick">
<view class="list-cell__body">
<slot name="title"></slot>
<slot name="content"></slot>
</view>
<view class="list-cell__arrow">
<uni-icon type="angle-right"></uni-icon>
</view>
</view>
</template>
<script>
export default {
methods: {
handleClick() {
// 处理点击事件
this.$emit('click');
}
}
};
</script>
<style>
.list-cell {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20rpx;
border-bottom: 1px solid #eee;
}
.list-cell__body {
flex: 1;
margin-right: 20rpx;
}
.list-cell__arrow {
font-size: 28rpx;
color: #999;
}
</style>
```
使用时,可以像下面这样在页面中引入并使用:
```html
<template>
<view>
<list-cell @click="handleListCellClick">
<view slot="title">这是标题</view>
<view slot="content">这是内容</view>
</list-cell>
</view>
</template>
<script>
import ListCell from '@/components/ListCell';
export default {
components: {
ListCell,
},
methods: {
handleListCellClick() {
console.log('ListCell被点击了');
},
},
};
</script>
```
在上面的代码中,我们使用了 `@click` 监听了 `ListCell` 组件的点击事件,并在 `handleClick` 方法中调用了 `$emit` 方法将点击事件向外部抛出。在页面中使用 `ListCell` 组件时,可以使用 `@click` 监听到 `ListCell` 组件的点击事件,并在回调函数中处理相应的逻辑。
阅读全文