首页 > 其他分享 >js 四级联动,利用的vue 的v-model双向绑定

js 四级联动,利用的vue 的v-model双向绑定

时间:2022-11-02 21:46:24浏览次数:62  
标签:vue qu -- quList js street streetList shi model

数据格式为:

 

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>四级联动</title>
    <script src="../vue3.js"></script>
    <script src="./cityJson.js"></script>
</head>

<body>
    <div id="root">
        <h1>你选择了--{{sheng}}--{{shi}}--{{qu}}--{{street}}</h1>
        <select @change="shengChange" v-model="sheng">
            <option value="">--请选择省--</option>
            <option v-for="(p,key) in shengList" :value="key" :key="key">{{key}}</option>
        </select>
        <select v-model="shi" @change="shiChange">
            <option value="">--请选择市--</option>
            <option v-for="(c,key) in shiList" :value="key" :key="key">{{key}}</option>
        </select>
        <select v-model="qu" @change="quChange">
            <option value="">--请选择区--</option>
            <option v-for="(q,key) in quList" :value="key" :key="key">{{key}}</option>
        </select>
        <select v-model="street">
            <option value="">--请选择街道--</option>
            <option v-for="v in streetList" :value="v" :key="v">{{v}}</option>
        </select>

    </div>
    <script>
        const app = Vue.createApp({
            el: "#root",
            data() {
                return {
                    shengList: cityJson,
                    shiList: {},
                    quList: {},
                    streetList: [],
                    sheng: '',
                    shi: '',
                    qu: '',
                    street: ''

                }
            },
            methods: {
                shengChange() {
                    this.shiList = this.shengList[this.sheng]
                    // 清空
                    this.shi = "";
                    this.street = "";
                    this.qu = "";
                    this.quList = {};
                    this.streetList = []
                },
                shiChange() {
                    this.quList = this.shiList[this.shi];
                    this.streetList = [];
                    this.qu = ''
                    this.street = ''
                },
                quChange() {
                    this.streetList = this.quList[this.qu]
                    this.street = ''
                }
            },
        });
        app.mount('#root')
    </script>
</body>

</html>
结果为:

 

 

 

标签:vue,qu,--,quList,js,street,streetList,shi,model
From: https://www.cnblogs.com/maxiaopi/p/16852594.html

相关文章

  • vue3
    Vue3vue3介绍性能的提升​ 打包大小减少41%​初次渲染快55%,更新渲染快133%​内存减少54%源码的升级​ 使用Proxy代替defineProperty实现响应式​ 重写......
  • vue3
    vue3vue3介绍1.性能的提升打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54%2.源码的升级使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tre......
  • vue学习笔记
    今日内容概要vue3介绍创建vue3项目的方式setup函数ref和reactive计算和监听属性生命周期hookstoRefs后台管理模板今日内容详细vue3介绍1.性能的提升......
  • vite_vue3自动引入
    //github地址:https://github.com/antfu/unplugin-auto-import1.npmi-Dunplugin-auto-import2.vite.config.tsimportAutoImportfrom'unplugin-auto-import/vi......
  • 【2022-11-02】前端Vue框架(七)
    一、Vue3基本介绍1.性能的提升打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54%2.源码的升级使用Proxy代替defineProperty实现响应式......
  • vue3
    目录回顾vue-router路由守卫vue3一、介绍二、创建vue3项目的两种方式三、setup函数vue3新增的setup配置项函数的特点此时的变量age值不能够和渲染的一样增减,因为没有响应......
  • (动态列表滚动)vue-seamless-scroll的使用 实现列表滚动
    1.npm下载依赖npminstallvue-seamless-scroll--save2.在需要使用的页面引入importvueSeamlessScrollfrom'vue-seamless-scroll'components:{vueSea......
  • vue中换行符不换行、不生效的处理(\n或者<br>)
    引言:偶然发现vue中换行符\n、不换行、不生效<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title></head><body>......
  • Vue学习-07
    一、Vue3介绍1、性能的提升打包大小减少41%初次渲染快55%,更新渲染快133%内存减少54%2、源码的升级使用Proxy代替defineProperty实现响应式重写虚拟DOM的实现和Tr......
  • 我的Vue之旅 09 数据数据库表的存储与获取实现 Mysql + Golang
    第四期·将部分数据存储至Mysql,使用axios通过golang搭建的http服务器获取数据。新建数据库DROPDATABASEVUE;createdatabaseifnotexistsvue;usevue;JSONTO......