vue+uview实现仿微信通讯录(提醒谁看功能)

实现功能如下图:(索引列表加头像和选择框,选择好的好友在顶部展示出来)

首先引入uview里面的索引列表组件:(用于展示好友列表)

<view class="" style="width: 700rpx;margin: 0 auto;">
            <u-index-list :index-list="indexList" @select="selectFn" activeColor="#c0c0c0">
                <template v-for="(item, index) in itemArr" bgColor="#fff">
                    <!-- #ifdef APP-NVUE -->
                    <u-index-anchor :text="indexList[index]" bgColor="#fff"></u-index-anchor>
                    <!-- #endif -->
                    <u-index-item bgColor="#fff">
                        <!-- #ifndef APP-NVUE -->
                        <u-index-anchor :text="indexList[index]" bgColor="#fff"></u-index-anchor>
                        <!-- #endif -->
                        <view class="list-cell" v-for="(item1, index1) in item" bgColor="#fff">
                            <u-checkbox-group>
                                <u-checkbox :customStyle="{marginBottom: '8px'}" shape="circle" @change="change(item1)">
                                </u-checkbox>
                            </u-checkbox-group>
                            <view class="">
                                <img :src="item1.avatar" alt=""
                                    style="width: 90rpx;height: 90rpx;border-radius: 50%;margin-right: 20rpx;">
                            </view>
                            <view class="">
                                {{item1.friendNote}}
                            </view>
                        </view>
                    </u-index-item>
                </template>
            </u-index-list>
        </view>

当点击选择请前面的选择框时,触发change事件(组件内方法):

change(e) {
                console.log(e)
                //新建userlist和userlistimg空数组,将返回值push进去
                this.userlist.push(e.friendId);
                this.userlistimg.push(e.avatar);
                // userlistimg
                // console.log(this.userlist)
                //删除数组中重复的元素(昵称和头像)
                for (var i = 0; i < this.userlist.length; i++) {
                    for (var j = i + 1; j < this.userlist.length; j++) {
                        if (this.userlist[i] == this.userlist[j]) { //第一个等同于第二个, 
                          splice方法删除第二个
                            // this.userlist.splice(j, 1);

                            this.$delete(this.userlist, j)
                            this.$delete(this.userlist, i)
                            j--;
                        }
                    }
                }
                
                for (var i = 0; i < this.userlistimg.length; i++) {
                    for (var j = i + 1; j < this.userlistimg.length; j++) {
                        if (this.userlistimg[i] == this.userlistimg[j]) { //第一个等同于第二 
                           个,splice方法删除第二个
                            // this.userlist.splice(j, 1);
                
                            this.$delete(this.userlistimg, j)
                            this.$delete(this.userlistimg, i)
                            j--;
                        }
                    }
                }

                this.listimg = this.userlistimg
                console.log(this.userlistimg) //打印处理后的数组
            },

上面的顶部展示出来用的是uniapp的scroll-view:

<view class="topline">
            <view class="">
                <scroll-view class="typeScroll" scroll-x="true" @scroll="scroll" scroll-left="10">
                    <!-- <view v-for="(item,index) in 5" :key="index" class="sceneItem1">
                        拉取
                    </view> -->
                    
                        <img :src="item" alt="" class="Scrollimg" v-for="(item,index) in listimg" :key="index" >
                    //此处循环的数组就是上面代码中处理好的头像数组
                    
                    <!-- <view id="demo1" v-for="item in 32" class="sceneItem1">A</view> -->
                </scroll-view>
            </view>
            <view class="xinshan-topR" @click="confirm">
                确定
            </view>
        </view>

其中class类的展示如下:

.topline {
        width: 690rpx;
        margin: 0 auto;
        // background-color: pink;
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .xinshan-topR {
        width: 138rpx;
        height: 50rpx;
        background: #F2853C;
        border-radius: 4rpx;
        opacity: 1;
        font-size: 28rpx;
        font-weight: normal;
        color: #FFFFFF;
        text-align: center;
        line-height: 50rpx;
    }
    .typeScroll {
        // margin-left: 40rpx;
        margin-bottom: 30rpx;
        width: 500rpx;
        // background: #e7e7e7;
        white-space: nowrap;
        margin-top: 36rpx;

        .Scrollimg {
            display: inline-block;
            width: 64rpx;
            height: 64rpx;
            border-radius: 50%;
            margin-right: 10rpx;
        }

        .sceneItem1 {
            display: inline-block;
            // width: 22%;
            // margin-left: 44rpx;
            margin-right: 20rpx;
            text-align: center;
            // min-height: 38rpx;
            width: 126rpx;
            height: 64rpx;
            background: #00B578;
            border-radius: 8rpx 8rpx 8rpx 8rpx;
            opacity: 1;
            font-size: 28rpx;
            line-height: 64rpx;
            font-weight: 500;
            color: #FFFFFF;

        }

        .sceneItem2 {
            display: inline-block;
            // width: 22%;
            margin-left: 44rpx;
            text-align: center;
            // min-height: 38rpx;
            width: 126rpx;
            height: 64rpx;
            background: #FAFAFA;
            border-radius: 8rpx 8rpx 8rpx 8rpx;
            opacity: 1;
            font-size: 28rpx;
            line-height: 64rpx;
            font-weight: 500;
            color: #9B9B9B;

        }
    }

(下面是data里面的数据):

return {value: "",listimg: [// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",// "https://cdn.uviewui.com/uview/album/2.jpg",],list: [{"letter": "A","data": [/* {name: "哈苏觉得会爱上",avatar: "https://cdn.uviewui.com/uview/album/2.jpg"}, */"https://cdn.uviewui.com/uview/album/2.jpg","包头机场","北海福成机场","北京南苑机场","北京首都国际机场"]}, {"letter": "B","data": ["保山机场","包头机场","北海福成机场","北京南苑机场","北京首都国际机场"]}],userlist: [],userlistimg: [],indexList: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S","T", "U", "V", "W", "X", "Y", "Z", "#"],test: [],itemArr: [[{name: "过一组1",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费2",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费3",url: "https://cdn.uviewui.com/uview/album/1.jpg"},],[{name: "过一组4",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费5",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费6",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费7",url: "https://cdn.uviewui.com/uview/album/1.jpg"},],[{name: "过一组8",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费9",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费10",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费11",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费12",url: "https://cdn.uviewui.com/uview/album/1.jpg"}],[{name: "过一组13",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "水电费14",url: "https://cdn.uviewui.com/uview/album/1.jpg"},{name: "333",url: "https://cdn.uviewui.com/uview/album/1.jpg"},],],}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/26763.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day03_顺丰快递分拣小程序

目录 一、又见str1.1 字符串定义1.2 字符串常用操作1.2.1 str.center(width[, fillchar])1.2.2 str.count(sub, start 0,endlen(string))1.2.3 str.encode(encodingUTF-8,errorsstrict)1.2.4 str.endswith(suffix[, start[, end]])1.2.5 str.find(str, beg0, endlen(string))1.…

PYTHON 顺丰快递分拣小程序-极简9行代码实现分拣

给定一组打乱的快递信息数据&#xff0c;将快递按省份进行分类&#xff0c;最终实现如下格式效果&#xff1a; 数据源如下&#xff1a; [[王*龙, 北京市海淀区苏州街大恒科技大厦南座4层],[庞*飞, 北京市昌平区汇德商厦四楼403],[顾*锐, 江苏省扬州市三垛镇工业集中区扬州市立…

python快递分拣小程

需求 &#xff1a; 分拣出同一省份的信息 格式 省份 : 名字 地址 ...... 完整 代码 noe_list [[王*龙, 北京市海淀区苏州街大恒科技大厦南座4层],[庞*飞, 北京市昌平区汇德商厦四楼403],[顾*锐, 江苏省扬州市三垛镇工业集中区扬州市立华畜禽有限公司],[王*飞, 上海市徐汇区上…

重磅!2020国家科学技术奖全名单公布!

来源&#xff1a;软科 2021年11月3日&#xff0c;2020年度国家科学技术奖励大会在人民大会堂正式召开。 备受关注的国家最高科学技术奖&#xff0c;授予了中国航空工业集团有限公司顾诵芬院士和清华大学王大中院士。国家最高科学技术奖自2000年正式设立&#xff0c;是中国科技…

谷歌又闹大乌龙!Jeff Dean参与的新模型竟搞错Hinton生日

【导读】最近&#xff0c;谷歌研究员发布了关于指令微调的最新工作&#xff01;然而却宣传图中出现了可笑的乌龙。 几个小时之前&#xff0c;谷歌大脑的研究员们非常开心地晒出了自己最新的研究成果&#xff1a; 「我们新开源的语言模型Flan-T5&#xff0c;在对1,800多种语言…

汽车电子的AI时刻

来源&#xff1a;《中国电子商情》 感谢Imagination汽车产品业务发展和市场总监陈竹女士、芯擎科技业务拓展经理邵楠女士、中汽中心工程院网联与线控底盘室主任郭蓬女士和国创中心电子电子电气部部长李秋霞女士对本文的贡献与支持&#xff0c;本文观点均来自上述四位行业人士对…

DriveGPT、车企订单背后,为什么毫末每年都能搞出新东西?

作者 | 祥威 编辑 | 德新 4月11日&#xff0c;毫末智行正式发布自动驾驶生成式大模型 DriveGPT&#xff0c;中文名 雪湖海若&#xff0c;可以提升自动驾驶认知能力&#xff0c;最终提升规控效率。 雪湖海若的核心&#xff0c;是将各种驾驶场景作为Token输入到模型中&…

ChatGPT火到汽车圈,毫末智行、集度纷纷进场

作者 | 白日梦想家 编辑 | 于婷 ChatGPT的火爆&#xff0c;已经席卷到了汽车领域。 众多相关企业宣布纷纷布局&#xff0c;车企也争相宣布将搭载类似产品。 2月初&#xff0c;百度宣布将在今年3月完成类似ChatGPT的项目“文心一言”的内部测试。据悉&#xff0c;该产品是基于…

MOSS 真的要来了吗?——ChatGPT

最近在网络上在疯传各种 ChatGPT 的新闻消息和视频&#xff0c;大家把 ChatGPT 传得神乎其神的&#xff0c;今天我们就来聊一聊最近爆火的 ChatGPT 究竟是什么来头。 ChatGPT 是什么 ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型&#xff0c;它能够通过…

四面八方WP

四面八方 四方门主东方青木看着四面八方涌过来的极客&#xff0c;非常震惊&#xff0c;转头便进入了祖祠中的地下室&#xff0c;发现这丫传自唐朝的密室还设计了英文密码。旁边的石头上&#xff08;附件中有拓本&#xff09;刻着密码和密文&#xff0c;大家快帮助门主解出密码…

【Python】用Python做个学生管理系统,可以用作毕业设计哟~(附原码)

准备工作 环境准备 Python 3.8Pycharm 2021.2 知识点 Python基础语法基本的数据类型与结构基本的逻辑控制语句实战小项目 代码流程 赋值 赋值 就是把等号左边的内容 用 等号右边的这个变量名字 接收 msg """******************************************…

《小时代2青木时代》 短评 与郭敬明的中立评价

到底是什么原因&#xff0c;让一部被骂得狗血的影片还这么卖座&#xff0c;昨天补了小时代1&#xff0c;今天接着看了小时代2。 这是一个最坏的时代&#xff0c;也是最好的时代。 下面网摘一条粉丝的评论和批评者的声音 我觉得小时代2很好看&#xff0c;比起第一部来真的有进步…

谈古论津丨天津杨柳青年画为何要用娃娃作主题?

一提天津三绝&#xff0c;很多人都知道是狗不理包子、十八街麻花和耳朵眼炸糕&#xff0c;其实杨柳青年画、泥人张、风筝魏也是天津三绝&#xff0c;只不过是民间艺术三绝。 而天津杨柳青、苏州桃花坞、四川绵竹、潍坊杨家埠是中国四大年画产地&#xff0c;其中杨柳青和桃花坞…

电视剧《一代枭雄》观后感

电视剧《一代枭雄》观后感 肺炎疫情期间自行在家隔离&#xff0c;追剧成为一个很好的选择。憋屈而单调的生活&#xff0c;精神层面总得需要营养来补充&#xff0c;不然这种长期隔离生活&#xff0c;会让人发疯的。笔者找到了孙红雷主演的这部电视剧《一代枭雄》&#xff0c;这部…

使用 Spring Boot Operator 部署 Spring Boot 到 Kubernetes

大家好&#xff0c;我是DD。 2022年了&#xff0c;你们开始用Kubernetes了吗&#xff1f;那么Spring Boot应用要如何部署到Kubernetes里呢&#xff1f;下面给大家转了一篇不错的深度好文&#xff0c;一起来学习一下吧&#xff01; 以下内容来源&#xff1a;https://qingmu.io/2…

曝光 兼职达人(深圳市青木网络科技)无耻、恶心

《兼职达人&#xff08;深圳市青木网络科技&#xff09;无耻、恶心》公司地点&#xff1a;学府路学府楼1楼相关人物&#xff1a; A:余鑫&#xff08;合伙人&#xff09;李帛仑&#xff08;老板&#xff09; B:安丹&#xff08;HR行政&#xff0c;此人恶心至极&#xff0c;现在…

NFT 推荐|史蒂夫·青木 NFT 作品集

像扔蛋糕一样向你袭来&#xff01; 一旦你拥有这个独家 NFT 系列&#xff0c;除了史蒂夫本人&#xff0c;没有人会比你更特别&#xff01;用史蒂夫的疯狂动物创作创造你自己的 metazoo&#xff0c;或者用多个史蒂夫化身填充你的 Aokiverse&#xff0c;甚至可以装备特殊运动鞋&a…

《恒盛策略》电商概念强势拉升,凯淳股份“20cm”涨停,青木股份等大涨

电商概念21日盘中强势拉升&#xff0c;截至发稿&#xff0c;凯淳股份“20cm”涨停&#xff0c;青木股份涨超14%&#xff0c;光云科技涨超10%&#xff0c;生意宝、若羽臣、联络互动等涨停&#xff0c;焦点科技、黑芝麻涨超8%&#xff0c;返利科技、跨境通、比依股份等涨超7%&…

我喜欢星期五因为我们那天有计算机课英文,高一英语作文范文4篇

优秀小学英语作文带翻译&#xff1a;生日 My birthday is on Sunday. My parents are going to have a birthday party at home. I invite my friends to come to the party. At the party. They give me many small presents. Such as cards, picture books, pens. They sing …

英语二-议论文写作词汇、话题、模板、范文参考

1. 词汇多样性 1. 表示因果关系 2. 表示转斩关系 3. 表示顺序关系 4. 表示递进关系 5. 表示对比关系 6. 表示总结关系 7. 连接论据的词 2. 高频考试话题 1. 有益身心的短语 2. 提高能力的短语 3. 写作模板 支持原创作文&#xff0c;如果不会&#xff0c;请牢记模板。 如果嫌…