前端Vue仿美团地址管理列表组件

2023-11-12

随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。

通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率低,降低维护成本。

今天给大家介绍的一款组件仿美团地址管理列表组件;附源码下载地址 https://ext.dcloud.net.cn/plugin?id=13499

更多前端组件信息请关注微信公众号: 前端组件开发
在这里插入图片描述

效果图如下:

接下来,我们将学习如何使用地址管理组件。在html当中首先定义了一些初始数据,包括颜色主题、地址列表以及选择地址和编辑地址的事件处理函数。

<template>
  <div class="address-set">
    <!-- color:主题色 addressList:地址管理数据 @chooseClick:选择事件 @editClick:编辑事件 -->
    <cc-address-set :colors="colors" :addressList="addressList" @chooseClick="chooseClick" @editClick="editClick"></cc-address-set>
    <view class="save">
      <view class="btn" :style="'background:' + colors" @tap="addAddress">添加收货地址</view>
    </view>
  </div>
</template>

接着,我们在<script>标签中定义了组件的数据和方法。这些数据和方法将在我们的JavaScript代码中使用。

export default {
  data() {
    return {
      colors: '#fbbd08',
      addressList: [{
        name: '小明',
        phone: '12345678915',
        address: '佛山市南海区',
        moreAddres: '桂城街道',
        isdefult: 1,
        id: 1
      }, {
        name: '小红',
        phone: '12345678915',
        address: '广州市海珠区',
        moreAddres: '昌岗路15号',
        isdefult: 0,
        id: 2
      }],
    };
  },
  methods: {
    chooseClick(item) {
      console.log('选择地址', item);
    },
    editClick(index, item) {
      console.log('编辑地址', index, item);
    },
    addAddress() {
      const newAddress = { name: '', phone: '', address: '', moreAddres: '', isdefult: '', id: '' }; // 这里可以根据实际需求获取用户输入的数据并添加到addressList中去
      const currentAddressList = this.addressList.slice(); // 复制一份当前地址列表,避免直接修改原数组影响视图渲染
      currentAddressList.push(newAddress); // 在复制的列表中添加新的地址对象
      this.addressList = currentAddressList; // 将新的地址列表赋值给data中的addressList属性,更新视图显示的数据源
    },
  },
};

cc-addressSet

使用方法


<!-- color:主题色 addressList:地址管理数据 @chooseClick:选择事件 @editClick:编辑事件  -->

<cc-addressSet :colors="colors" :addressList="addressList" @chooseClick="chooseClick"

@editClick="editClick"></cc-addressSet>

<!-- 设置数据 -->

colors: '#fbbd08',

addressList: [{

name: '小明',

phone: '12345678915',

address: '佛山市南海区',

moreAddres: '桂城街道',

isdefult: 1,

id: 1

}, {

name: '小红',

phone: '12345678915',

address: '广州市海珠区',

moreAddres: '昌岗路15号',

isdefult: 0,

id: 2

}],

HTML代码实现部分


<template>

<view>

<!-- color:主题色 addressList:地址管理数据 @chooseClick:选择事件 @editClick:编辑事件  -->

<cc-addressSet :colors="colors" :addressList="addressList" @chooseClick="chooseClick"

@editClick="editClick"></cc-addressSet>

<view class="save">

<view class="btn" :style="'background:' + colors" @tap="addAddress">添加收货地址</view>

</view>

</view>

</template>

<script>

export default {

data() {

return {

colors: '#fbbd08',

addressList: [{

name: '小明',

phone: '12345678915',

address: '佛山市南海区',

moreAddres: '桂城街道',

isdefult: 1,

id: 1

}, {

name: '小红',

phone: '12345678915',

address: '广州市海珠区',

moreAddres: '昌岗路15号',

isdefult: 0,

id: 2

}],

};

},

props: {},

/**

* 生命周期函数--监听页面加载

*/

onLoad: function(options) {

},

methods: {

// 编辑地址

editClick(item) {

uni.showModal({

title: '点击编辑条目',

content: '点击编辑条目' + JSON.stringify(item)

})

},

chooseClick(item){

uni.showModal({

title: '点击选择条目',

content: '点击选择条目' + JSON.stringify(item)

})

},

// 增加地址

addAddress() {

},

}

};

</script>

<style lang="scss" scoped>

.save {

position: fixed;

bottom: 0;

width: 100%;

height: 120upx;

display: flex;

justify-content: center;

align-items: center;

}

.save view {

display: flex;

}

.save .btn {

box-shadow: 0upx 5upx 10upx rgba(0, 0, 0, 0.4);

width: 70%;

height: 80upx;

border-radius: 80upx;

background-color: #f23a3a;

color: #fff;

justify-content: center;

align-items: center;

font-size: 30upx;

margin-bottom: 60px;

}

</style>

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端Vue仿美团地址管理列表组件 的相关文章

随机推荐

  • empty ajax,php - Javascript Array empty not empty (Ajax) - Stack Overflow

    I m trying to retrieve the address that API google send me into an array The problem is that I just received an array em
  • Android12 HttpCanary系统证书安装 Magisk模块movecert

    手机 pixel 6 系统 Android 12 HttpCanary高级版 想要无限制使用高级功能的可以参照我的这篇文章实战 逆向最新黄鸟抓包软件 HttpCanary证书的安装 之前我一直使用的Android 8 证书可以直接通过Htt
  • Golang-如何判断一个 interface{} 的值是否为 nil ?

    引用 起初我会下意识的回答 直接 v nil 进行判断不就好了吗 然后翻阅了很多资料终于大致搞定里面的道道 例子 请看下面这段代码 可以先猜测一下输出的结果 package main import fmt func main var a s
  • python复数类型-Python 复数属性和方法操作实例

    复数是由一个实数和一个虚数组合构成 表示为 x yj 一个复数时一对有序浮点数 x y 其中 x 是实数部分 y 是虚数部分 Python 语言中有关复数的概念 1 虚数不能单独存在 它们总是和一个值为 0 0 的实数部分一起构成一个复数
  • datax->hdfsreader->orc文件读取出错ArrayIndexOutOfBoundsException: 6

    Exception in thread main java lang ArrayIndexOutOfBoundsException 6 at org apache orc OrcFile WriterVersion from OrcFile
  • bash: pip3: command not found

    问题描述 当使用命令pip3 install XXX 出现错误 bash pip3 command not found 错误原因 pip3还没有安装 解决方法 安装 pip3 sudo apt install python3 pip
  • 单片机设计_实时时钟电路(AT89C51、LCD1602、DS1302)

    单片机实时时钟电路 LCD1602 DS1302 想要更多项目私wo 一 简介 此电路主要有51单片机 LCD1602模块 DS1302芯片组成 通过LCD1062显示当前时间 二 运行效果 三 源文件 main c 想要更多项目私wo i
  • 3DMax渲染常见问题

    span style color rgb 153 0 0 font family none font size 24px background color rgb 255 255 255 前言 span 最近在学习3DMax渲染 刚好看网上
  • 【软件工程基础复习整理】第五章概要设计(4) 类设计原则

    单一职责原则 当需求变化时 类的职责就会因此变化 单一职责原则要求的是一个类应该仅有一个引起它变化的原因 如果一个类承担的职责过多 会导致设计脆弱 也即当设计因一个职责的变化二发生改变时会遭到意想不到的破坏 影响这个累执行其他职责的能力 开
  • 用excel AVERAGEIFS函数 计算各校各班学生成绩平均分,

    上节课给大家分享了求平均值函数AVERAGE的用法 这节课 继续给大家分享有条件的求平均值函数AVERAGEIF和AVERAGEIFS 大家看名称就知道 AVERAGEIFS肯定是多条件求平均值的函数 学习内容 1 有条件的求平均值AVER
  • CSS——CSS基础(一篇就够用)

    CSS CSS基础 一篇就够用 一 CSS概述 1 什么是css 2 作用 3 css和html属性的使用原则 二 CSS语法规范 1 css的使用方式 行内样式 内联样式 内部样式 外部样式 2 css的样式特性 继承性 堆叠性 优先级
  • 图的邻接矩阵存储

    public class Graph init public static int MAX GRAPH SIZE 256 最大顶点个数 public static int MAX WEIGHT 65536 图中最大权值 public int
  • 【githubshare】KCon 黑客大会演讲 macOS Big Sur 内核漏洞挖掘、云虚拟化安全、服务器硬件可信与安全实践

    GitHub 上一个开源资料库 KCon 黑客大会演讲 PPT 2021 年包含了 macOS Big Sur 内核漏洞挖掘 云虚拟化安全 服务器硬件可信与安全实践等内容 个开源资料库 KCon 黑客大会演讲 PPT 2021 年包含了 m
  • win10下电脑和开发板无法ping通解决

    首先确保电脑ip地址和开发板ip地址在同一网关下 如图我的电脑和开发板都在192 168 2 网关下 1 打开控制面板 2 选择查看方式为小目标 3 打开防火墙 选择高级设置 4 打开入站规则 选择文件和打印机共享 回显请求 ICMPv4
  • 汇客huikeCRM项目实战-熟能生巧

    任务目录 开胃菜一 统计分析 线索统计 线索转化率漏斗图 开胃菜二 首页 商机转化龙虎榜接口 开胃菜二 首页 线索转化龙虎榜接口 任务一 首页 待办数据统计接口 任务二 统计分析 客户统计 学科客户分布饼图 任务三 统计分析 线索统计 新增
  • elsearch 查询不设置size,默认只返回10条数据.....

    原文链接 http blog csdn net qq 18145031 article details 53489370 方法一 如果需要搜索分页 可以通过from size组合来进行 from表示从第几行开始 size表示查询多少条文档
  • MATLAB2022a/Simulink + STM32F407 Discovery Kit教程1

    0 前面的话 之前在B站上看到了STM32 MATLAB开发环境设置的视频 但是STM32MatTarget包已经被ST官方移除了 这种方法已经过时了 现在有新的方法来利用Matlab来开发STM32 这里来分享一下 主要是参考matlab
  • 什么是以太坊

    文章以及资料 开源 github地址 文章目录 定义 特点 第二层功能 以太币 智能合约 以太坊组件 p2p网络 共识规则 交易 状态机 数据结构 经济安全性 扩展阅读 定义 以太坊 英语 Ethereum 是一个开源的有智能合约功能的公共
  • 使用windows调用Linux远程桌面

    一 安装所需要的软件 yum install y xrdp yum install y vnc chkconfig xrdp on chkconfig vncserver on 二 修改配置 a添加用户 useradd herry b 设置
  • 前端Vue仿美团地址管理列表组件

    随着技术的发展 开发的复杂度也越来越高 传统开发方式将一个系统做成了整块应用 经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改 造成牵一发而动全身 通过组件化开发 可以有效实现单独开发 单独维护 而且他们之间可以