vue 引用vant area组件

本文详细介绍如何使用Vue和vant组件库实现省市区三级联动选择器。通过自定义cell、popup和area组件,结合监听change、confirm和cancel事件,实现用户在选择省市区时的数据动态更新。文章提供完整代码示例,帮助开发者快速掌握并应用到实际项目中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下面是改变值的时候写入

<template>
  <div class="app">
    confirm   点击右上方完成按钮   一个数组参数,具体格式看下方数据格式章节
    cancel    点击取消按钮时
    change    选项改变时触发 参考Picker 实例,所有列选中值,当前列对应的索引
    <van-cell-group>
      <!--cell+popup+area省市区的坑-->
      <van-cell v-model="carmodel" title="省/市/区" value="" @click="show = true"></van-cell>
      <van-popup v-model="show" position="bottom">
        <van-area
          ref="area"
          value="110000"
          :area-list="areaList"
          @change="onChange"
          @confirm="show = false"
          @cancel="show = false"
        />
      </van-popup>
    </van-cell-group>
  </div>
</template>
<script>

  import { Cell, CellGroup, Popup, Field,  Area, Picker } from 'vant'
  export default {
    components: {
      VanCell: Cell,
      VanCellGroup: CellGroup,
      VanPopup: Popup,
      VanField: Field,
      VanArea: Area,
      VanPicker: Picker
    },
    data () {
      return {
        show: false,
        carmodel: '',

        areaList: {
          province_list: {
            110000: '北京市',
            120000: '天津市'
          },
          city_list: {
            110100: '北京市',
            110200: '县',
            120100: '天津市',
            120200: '县'
          },
          county_list: {
            110101: '东城区',
            110102: '西城区',
            110105: '朝阳区',
            110106: '丰台区',
            120101: '和平区',
            120102: '河东区',
            120103: '河西区',
            120104: '南开区',
            120105: '河北区'
          }
        }
      }

    },
    methods: {
      onChange (picker, value, index) {
        console.log('当前值:' + value + '当前索引:' + index)
        console.log(value)
        let areaName = ''
        for (var i = 0; i < value.length; i++) {
          areaName = areaName + value[i].name + ' '
        }
        this.carmodel = areaName
      }
    }
  }
</script>

如果是想点击确认按钮写入值

<template>
  <div class="app">
    confirm   点击右上方完成按钮   一个数组参数,具体格式看下方数据格式章节
    cancel    点击取消按钮时
    change    选项改变时触发 参考Picker 实例,所有列选中值,当前列对应的索引
    <van-cell-group>
      <!--cell+popup+area省市区的坑-->
      <van-cell v-model="carmodel" title="省/市/区" value="" @click="show = true"></van-cell>
      <van-popup v-model="show" position="bottom">
        <van-area
          ref="area"
          value="110000"
          :area-list="areaList"
          @change="onChange"
          @confirm="show = false"
          @cancel="show = false"
        />
      </van-popup>
    </van-cell-group>
  </div>
</template>
<script>

  import { Cell, CellGroup, Popup, Field,  Area, Picker } from 'vant'
  export default {
    components: {
      VanCell: Cell,
      VanCellGroup: CellGroup,
      VanPopup: Popup,
      VanField: Field,
      VanArea: Area,
      VanPicker: Picker
    },
    data () {
      return {
        show: false,
        carmodel: '',

        areaList: {
          province_list: {
            110000: '北京市',
            120000: '天津市'
          },
          city_list: {
            110100: '北京市',
            110200: '县',
            120100: '天津市',
            120200: '县'
          },
          county_list: {
            110101: '东城区',
            110102: '西城区',
            110105: '朝阳区',
            110106: '丰台区',
            120101: '和平区',
            120102: '河东区',
            120103: '河西区',
            120104: '南开区',
            120105: '河北区'
          }
        }
      }

    },
    methods: {
      onChange (picker, value, index) {
        console.log('当前值:' + value + '当前索引:' + index)
        console.log(value)
        let areaName = ''
        for (var i = 0; i < picker.length; i++) {
          areaName = areaName + picker[i].name + ' '
        }
        this.carmodel = areaName
      }
    }
  }
</script>
管理后台HTML页面是Web开发中一种常见的实践,主要用于构建企业或组织内部的管理界面,具备数据监控、用户管理、内容编辑等功能。本文将探讨一套美观易用的二级菜单目录设计,帮助开发者创建高效且直观的后台管理系统。 HTML5:作为超文本标记语言的最新版本,HTML5增强了网页的互动性和可访问性,提供了更多语义元素,如<header>、<nav>、<section>、<article>等,有助于清晰地定义网页结构。在管理后台中,HTML5可用于构建页面布局,划分功能区域,并集成多媒体内容,如图像、音频和视频。 界面设计:良好的管理后台界面应具备清晰的导航、一致的布局和易于理解的图标。二级菜单目录设计能够有效组织信息,主菜单涵盖大类功能,次级菜单则提供更具体的操作选项,通过展开和折叠实现层次感,降低用户认知负担。 CSS:CSS是用于控制网页外观和布局的语言,可对HTML元素进行样式设置,包括颜色、字体、布局等。在管理后台中,CSS能够实现响应式设计,使页面在不同设备上具有良好的显示效果。借助CSS预处理器(如Sass或Less),可以编写更高效、模块化的样式代码,便于维护。 文件结构: guanli.html:可能是管理页面的主入口,包含后台的主要功能和布局。 xitong.html:可能是系统设置或配置页面,用于管理员调整系统参数。 denglu.html:登录页面,通常包含用户名和密码输入框、登录按钮,以及注册或忘记密码的链接。 image文件夹:存放页面使用的图片资源,如图标、背景图等。 css文件夹:包含后台系统的样式文件,如全局样式表style.css或按模块划分的样式文件。 响应式设计:在移动设备普及的背景下,管理后台需要支持多种屏幕尺寸。通过媒体查询(Media Queries)和流式布局(Fluid Grids),可以确保后台在桌面、平板和手机上都能良好展示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值