From b710c0b8e06e1ff475d4e0d5ee241fd71c607678 Mon Sep 17 00:00:00 2001
From: whycq <913841844@qq.com>
Date: 星期一, 13 二月 2023 18:30:08 +0800
Subject: [PATCH] #
---
uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue | 144 ++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 144 insertions(+), 0 deletions(-)
diff --git a/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue b/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue
new file mode 100644
index 0000000..19284bd
--- /dev/null
+++ b/uni_modules/uni-indexed-list/components/uni-indexed-list/uni-indexed-list-item.vue
@@ -0,0 +1,144 @@
+<template>
+ <view>
+ <view v-if="loaded || list.itemIndex < 15" class="uni-indexed-list__title-wrapper">
+ <text v-if="list.items && list.items.length > 0" class="uni-indexed-list__title">{{ list.key }}</text>
+ </view>
+ <view v-if="(loaded || list.itemIndex < 15) && list.items && list.items.length > 0" class="uni-indexed-list__list">
+ <view v-for="(item, index) in list.items" :key="index" class="uni-indexed-list__item" hover-class="uni-indexed-list__item--hover">
+ <view class="uni-indexed-list__item-container" @click="onClick(idx, index)">
+ <view class="uni-indexed-list__item-border" :class="{'uni-indexed-list__item-border--last':index===list.items.length-1}">
+ <view v-if="showSelect" style="margin-right: 20rpx;">
+ <uni-icons :type="item.checked ? 'checkbox-filled' : 'circle'" :color="item.checked ? '#007aff' : '#C0C0C0'" size="24" />
+ </view>
+ <text class="uni-indexed-list__item-content">{{ item.name }}</text>
+ </view>
+ </view>
+ </view>
+ </view>
+ </view>
+</template>
+
+<script>
+ export default {
+ name: 'UniIndexedList',
+ emits:['itemClick'],
+ props: {
+ loaded: {
+ type: Boolean,
+ default: false
+ },
+ idx: {
+ type: Number,
+ default: 0
+ },
+ list: {
+ type: Object,
+ default () {
+ return {}
+ }
+ },
+ showSelect: {
+ type: Boolean,
+ default: false
+ }
+ },
+ methods: {
+ onClick(idx, index) {
+ this.$emit("itemClick", {
+ idx,
+ index
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .uni-indexed-list__list {
+ background-color: $uni-bg-color;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex-direction: column;
+ border-top-style: solid;
+ border-top-width: 1px;
+ border-top-color: #DEDEDE;
+ }
+
+ .uni-indexed-list__item {
+ font-size: 14px;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex: 1;
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ }
+
+ .uni-indexed-list__item-container {
+ padding-left: 15px;
+ flex: 1;
+ position: relative;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ box-sizing: border-box;
+ /* #endif */
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ /* #ifdef H5 */
+ cursor: pointer;
+ /* #endif */
+ }
+
+ .uni-indexed-list__item-border {
+ flex: 1;
+ position: relative;
+ /* #ifndef APP-NVUE */
+ display: flex;
+ box-sizing: border-box;
+ /* #endif */
+ flex-direction: row;
+ justify-content: space-between;
+ align-items: center;
+ height: 50px;
+ padding: 25px;
+ padding-left: 0;
+ border-bottom-style: solid;
+ border-bottom-width: 1px;
+ border-bottom-color: #DEDEDE;
+ }
+
+ .uni-indexed-list__item-border--last {
+ border-bottom-width: 0px;
+ }
+
+ .uni-indexed-list__item-content {
+ flex: 1;
+ font-size: 14px;
+ color: #191919;
+ }
+
+ .uni-indexed-list {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ /* #endif */
+ flex-direction: row;
+ }
+
+ .uni-indexed-list__title-wrapper {
+ /* #ifndef APP-NVUE */
+ display: flex;
+ width: 100%;
+ /* #endif */
+ background-color: #f7f7f7;
+ }
+
+ .uni-indexed-list__title {
+ padding: 6px 12px;
+ line-height: 24px;
+ font-size: 16px;
+ font-weight: 500;
+ }
+</style>
--
Gitblit v1.9.1