vue.js+mint-ui的Popup组件和Picker组件实现省市县三级联动功能

本文介绍了如何使用vue-cli构建项目,并结合mint-ui的Popup和Picker组件,详细阐述了如何通过本地JSON数据实现省市县三级联动功能,无需服务端请求。文章包含每个步骤的详细操作指南,包括组件引入、数据绑定和事件处理,以及最终的实现效果展示。
摘要由CSDN通过智能技术生成
前言

      在工作中遇到省市县三级联动的需求,传统的pc端大部分是用3个HTML <select>标签根据选中的一级地址去获取二级地址,然后根据二级地址去获取三级地址。实现省市县三级地址选择,需要2次服务端请求。这里使用mint--ui的Popup弹出框组件和picker选择器组件,无需请求服务端,通过遍历本地的json文件,实现本地输出三级地址,同时给每级地址绑定一个code,从而满足与后台交互时,传递code代码,这个需求非常常见。

vue.js官网https://cn.vuejs.org/

mint-ui官网http://mint-ui.github.io/#!/zh-cn

步骤一:使用vue-cli快速构建demo项目

       vue-cli是vue提供的官方命令行工具,用于快速搭建大型单页应用。

  • 新建一个空文件夹demo,安装node.js,安装方法请谷歌或者百度,非常简单。
  • 用IDEA开发工具打开demo文件夹,打开Terminal终端,输入下面的命令行全局安装vue-cli
npm install vue-cli -g
  • 安装成功后输入npm -v可以查看npm的版本
  • 输入以下命令行回车,初始化项目配置
vue init webpack demo
  • 输入Project name, Project description , Author, Install vue-router?输入Y, Use ESLint to lint your code?输入N, Set up unit tests 输入N, Setup e2e tests with Nightwatch?输入N,回车初始化安装,初始化成功后可看到以下界面
  • 终端输入以下命令行,浏览器打开http://localhost:8080,demo项目构建完毕
cd demo
npm run dev


步骤二:新建一个ThreeLevelAddress.vue文件,并引入mint-ui

  • 在demo/src/components路径下新建ThreeLevelAddress.vue文件
<template>
  <div class="three-level-address">
    hello
  </div>
</template>

<script>
</script>

<style scoped>
</style>

  • 在demo/src/router/index.js进行路由定义
import ThreeLevelAddress from '@/components/ThreeLevelAddress'

export default new Router({
  routes: [
    {
      path:'/ThreeLevelAddress',
      name:'ThreeLevelAddress',
      component:ThreeLevelAddress
    }
  ]
})
  • 在浏览器内输入http://localhost:8080/#/ThreeLevelAddress可预览到下图

  • 在终端输入以下命令行,引入mint-ui
npm i mint-ui -S
  • 在demo/src/main.js路径下写入以下代码即可使用mint-ui
import MintUI from 'mint-ui'
import 'mint-ui/lib/style.css'

Vue.use(MintUI)
  • 接下来测试一下是否引入成功,这里已mint-ui的button按钮组件为例。
<template>
  <div class="three-level-address">
    <mt-button type="default" size="large">default</mt-button>
    <mt-button type="primary" size="large">primary</mt-button>
    <mt-button type="danger" size="large">danger</mt-button>
  </div>
</template>

<script>
  import Vue from 'vue'
  import { Button } from 'mint-ui';
  Vue.component(Button.name, Button);
</script>

<style scoped>
</style>

效果图:


步骤三:引入Popup组件
import { Popup } from 'mint-ui';
Vue.component(Popup.name, Popup);

Popup的API

Popup API
参数 说明 类型 可选值 默认值
position popup 的位置。省略则居中显示 String 'top'
'right'
'bottom'
'left'
 
pop-transition
  • 11
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值