如果 vue 组件上的模式关闭,如何重置下拉数据?

2023-12-28

我的情况是这样的

我有两个组件,父组件和子组件

我的父组件是这样的:

<template>
    ...
    <div class="row">
        ...
            <location-select level="continentList" type="1"/>
        ...
            <location-select level="countryList" type="2"/>
        ...
            <location-select level="cityList" type="3"/>
        ...
    </div>
</template>
<script>
    ...
    export default{
        ...
    }
</script>

父组件是模态引导程序

我的子组件是这样的:

<template>
    <select class="form-control" v-model="selected" @change="changeLocation">
        <option value="0" disabled>Select</option>
        <template v-for="option in options">
            <option v-bind:value="option.id" >{{ option.name }}</option>
        </template>
    </select>
</template>
<script>
    ...
    export default{
        props: ['level','type'],
        data() { return { selected: '' };},
        computed:{
            ...mapGetters([
                'getContinentList', 'getCountryList','getCityList'
            ]),
            options(){
                const n = ['getContinentList', 'getCountryList','getCityList']
                return this[n[this.type-1]]
            }
        },
        methods:{
            ...mapActions([
                'getLocationList'
            ]),
            changeLocation(event){
                if(this.type==1){
                    this.getLocationList([{type:2},{level:'countryList'}])
                    this.getLocationList([{type:3},{level:'cityList'}])
                }else if(this.type==2){
                    this.getLocationList([{type:3},{level:'cityList'}])
                }
            }
        },
        created() {
            if(this.type==1)
                this.getLocationList([{type:1},{level:'continentList'}])
            if(this.type==2 && this.selected!='')
                this.getLocationList([{type:2},{level:'countryList'}])
            if(this.type==3 && this.selected!='')
                this.getLocationList([{type:3},{level:'cityList'}])
        },
        mounted() {
            $(this.$parent.$refs.modal).on('hidden.bs.modal', (e) => {
                Object.assign(this.$data, this.$options.data())
            })
        },
    };
</script>

如果模式显示,我选择大陆、国家和城市。然后我关闭模式

之后我再次显示模态。然后我先选择国家和城市,数据仍然存在

我想重置数据。因此,如果我再次打开模式,在选择大陆之前,国家和城市数据不会显示

I try :

Object.assign(this.$data, this.$options.data())

和这个 :

Object.assign(this.$data,this.$options.data.call(this))

还有这个:

this.$forceUpdate()

当模态隐藏时

但是,它不起作用

看来必须更新数据了computed:{...}。但我仍然很困惑要这样做

我怎么解决这个问题?


您是否尝试过重置selected数据属性在mounted生命周期挂钩?

...    
mounted() {
    let $vm = this;

    $(this.$parent.$refs.modal).on('hidden.bs.modal', (e) => {
         $vm.selected = '';
    });
},
...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果 vue 组件上的模式关闭,如何重置下拉数据? 的相关文章

  • Vue 开发样板中的随机错误“以太坊未定义”

    我正在尝试使用 vue cli 创建的 Vue 基本样板在一个非常基本的 Vue3 组件中实现 web3 但我有一些奇怪的错误 首先 这是我的组件的代码
  • nuxt中根据url参数动态加载组件

    我在 nuxt 中有一个页面 分为两部分 第一部分是一个普通的模板结构 填充了基于 url 参数的动态内容 第二部分是应根据此数据加载的组件 我正在尝试这样完成它
  • 在Vue.js 3中添加全局变量

    如何在 Vue js 3 中添加全局变量 在 Vue js 2 中 我们在main js file Vue prototype myGlobalVariable globalVariable 最直接的替换就是app config globa
  • 如何使用 vue 观察对象数组中的特定属性

    我正在使用 vue js 2 5 2 我有一个对象数组 我想观察 forms selected 如果它发生变化 则调用一个函数 这是我的尝试 但显然这是不正确的 我尝试将数组放入 for 循环中以观察所选的每个对象的属性 watch for
  • 如何在没有模块的情况下在 vue 中使用 TypeScript

    In package json I have devDependencies vue 2 5 16 这给了我index d ts vue d ts and so on https github com vuejs vue tree v2 5
  • 如何为 VueJS 组件创建 v-model 修饰符?

    在VueJS中有一些v model修改预解析绑定值 例如v model trim从字符串中删除空格 如何创建自己的修改器 例如v model myparse今天嗯使用类似的东西 computed name get function retu
  • 如何禁用vuejs中的按钮

    我想在填写表单时禁用该按钮 当所有输入都填满后 将使用 vuejs 和 laravel 框架启用按钮 我尝试通过简单地禁用按钮来实现这一点
  • 如何在没有 API 请求的情况下使用 Nuxt.js 生成 100% 静态网站?

    我正在测试周围Nuxt js https nuxtjs org 生成静态网站 使用API 获取数据时是否可以生成100 静态站点 从而摆脱API和请求 根据我到目前为止的测试 所有文件都已正确生成并托管在Github 页面 https pa
  • Cytoscape 布局 - 处理锁定节点

    我正在使用 vue cytoscape 渲染图形并浏览树状数据结构 我的目标是扩展父节点并保持它们在图中的位置 我想简单地添加新的子节点 我的方法是锁定当前节点 添加子节点并解锁节点 this cy nodes lock for let d
  • 将变量从调用它的父页面传递给 Vue 组件

    我有一个简单的表格 显示了我的所有数据 主文件 php table class table table bordered table hover thead tr th Job Name th th Job Description th t
  • 在上传之前预览图像 VUEjs [重复]

    这个问题在这里已经有答案了 我知道这个问题已经被问过 但我不知道如何在vuejs中使用代码 我尝试了很多但没有任何结果 我还添加了我的代码 有人可以帮帮我吗 这是我的代码 谢谢 html
  • 如何在 Vuejs 中加载 Pixi 实例?

    我正在 VueJS 组件中学习 PixiJS 如下所示Pixi教程 https github com kittykatattack learningPixi我控制台显示此错误 vue runtime esm js 2b0e 619 Vue
  • 如何封装Vuejs项目中的常用功能?最佳实践

    我正在开发一个使用 Vuejs 作为前端的中型项目 我正在探索的封装 分离可能在许多组件中使用的常用方法的选项包括 mixins 方法和插件方法 混合方法我必须在每个要使用 mixin 方法的组件 文件 中编写一条 import 语句 由于
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • 如何在 ChartJS 中创建自定义图例

    我需要使用 ChartJS 库为我的圆环图创建自定义图例 我已经使用 ChartJS 提供的默认图例创建了甜甜圈 但我需要一些修改 我希望其价值高于汽车名称 另外 我不喜欢粘性图例 我想将其与甜甜圈分开 这样我就可以更改字体 框的样式 例如
  • Vue.JS 可以与 AJAX http 调用一起使用吗?

    我正在尝试从 HTML 中执行以下操作 var vm new Vue el loginContent data main message Login isLoggedIn false loginError loginButton Login
  • Vuetify a la carte:在静态 html 文件中使用时汇总组件会抱怨?

    我正在尝试汇总一个使用一些 vuetify 组件的 Vue 组件 出于 MWE 的目的 我有一个非常简单的组件 CountButton vue 这只是一个包装
  • Laravel Vue SPA 与 MPA/SSR

    许多 laravel vue 教程使用 ajax 调用来获取数据 看来 SPA 与 Laravel 是完全隔离的 IE Laravel 只是一个数据 API vue 应用程序也可以简单地托管在第三方外部服务器 例如 AWS S3 上 这是推
  • 如何更改 Vuetify 日历日期格式

    我正在尝试在以下 Vuetify 日历上启用输入事件 https github com vuetifyjs vuetify blob master packages docs src examples calendars complex e

随机推荐

  • 创建静态库并使用 premake 链接到它

    我目前正在尝试学习如何使用 premake 4 以便将其应用到 OpenGLsdk http www opengl org sdk 我目前正在尝试制作一个 Visual Studio 2010 解决方案 该解决方案构建 2 个项目 一个是静
  • 如何触发 Tab 键事件?

    How do we fire a tab key pressed event deliberately in Java I also want to know how to fire a Shift tab key pressed even
  • 使用 Angular 7 上传文件时,表单数据并不总是在 Chrome 中发送

    当我的 Angular 7 应用程序使用 Angular file 上传文件时 表单数据并不总是通过 Chrome macOS 发送 我使用 Firefox 或 Safari 没有任何问题 至少上次发生这种情况时 刷新 Chrome F5
  • java中的try/catch与null检查

    有时我面临必须编写一段这样的代码 通常它有更多嵌套的 if 和更复杂的结构 但对于示例来说就足够了 public void printIt Object1 a if a null SubObject b a getB if b null S
  • 视频在回溯时卡住 (C++) (QT) (libvlc)

    我正在使用 libvlc 使用 QT 4 在我的 GUI 应用程序上播放视频 当我向前搜索视频时 它工作正常 但是当我向后搜索视频时 它会卡住 我的意思是帧不会改变 而我的回调函数是 videopostrender没有接到任何电话 void
  • 如何混合(合并)视频和音频,以便音频在输出视频中循环,以防持续时间太短?

    背景 我需要将视频文件和音频文件合并为一个视频文件 以便 输出视频文件的持续时间与输入视频文件的持续时间相同 输出文件中的音频将仅是输入音频文件的音频 如果太短 则会循环到最后 如果需要可以在最后停止 这意味着一旦音频播放完毕而视频尚未播放
  • PHP cli 命令行 safe_mode 限制

    我正在使用 Kohana 框架 3 0 9 它生成每日日志 如果日志文件是在 CRON 运行脚本的前一天制作的 我想邮寄日志文件 但经过几天的尝试 我无法弄清楚如何在 PHP CLI 模式中推迟 safe mode 当我在网络上运行脚本时
  • Android任务管理器源码

    我想知道是否有任何开源 Android 任务管理器 流程管理器 流程细节器 项目可供我查看 我正在为我的大学项目开发 一个应用程序 它将帮助我了解寻找一个好的任务管理器 有谁知道一些开源项目 我可以在其中阅读或查看源代码 我不需要下载源 谢
  • Rails,选择助手,添加样式

    我正在尝试做这样的事情 select model attribute style gt some style Add style to the select helper在 Rails 中 但它不起作用 来自文档 http api ruby
  • 有条件申请课程的最佳方式是什么?

    假设您有一个在 a 中呈现的数组ul与li对于每个元素和控制器上的一个属性 称为selectedIndex 将课程添加到的最佳方式是什么li与索引selectedIndex在 AngularJS 中 我目前正在 手工 复制li代码并将该类添
  • 我如何像 Cocos2D 一样通过 SpriteKit 倾斜/剪切精灵?

    在Cocos2D x中 CCNode类提供了 skewX 和 skewY 来让我对精灵进行一些扭曲 但是 我在SpriteKit的SKNode中找不到类似的映射 我的游戏使用Flash移植骨骼动画 其中精灵的定位 缩放 旋转和剪切的配置将被
  • WebSocket 服务器不支持 SSL

    我有一个使用网络套接字的工作聊天应用程序 我想更进一步 在我的连接上启用加密 但是当我用 https 服务器切换 http 服务器时 我的连接开始失败 我已经生成了一个在我的所有网站上使用的自签名证书 在同一 TLD 下 这意味着它是通配符
  • 二元运算符“||”的操作数类型错误- 爪哇

    我在一个项目上遇到了麻烦 而且我没有足够的词汇来搜索我遇到的问题 我认为这与Java有关字符的语法有关 除了下面的代码之外 输入被视为上面的字符串并解析为字符 switch accountType case c case C Determi
  • 如何从 Rails 中的 URL 获取查询字符串

    有没有办法在 Rails 中获取传递的 URL 字符串中的查询字符串 我想传递一个 URL 字符串 http www foo com id 4 empid 6 我怎样才能得到id and empid 如果字符串中有 URL 则使用 URI
  • 是否需要“严格使用”Python 编译器?

    存在Python静态分析工具 https stackoverflow com questions 35470 are there any static analysis tools for python 但编译时检查往往与运行时绑定哲学 h
  • Spark配置优先级

    在代码中指定 Spark 应用程序配置之间是否有任何区别或优先级 SparkConf setMaster yarn 并在命令行中指定它们 spark submit master yarn 是的 用户代码中使用 set 函数进行的配置具有最高
  • 如何使用 ReactiveCocoa 3 实现基本的 UITextField 输入 + UIButton 操作场景?

    我同时是 Swift 和 ReactiveCocoa 菜鸟 我想使用 MVVM 和 Reactive Cocoa v3 0 beta 4 框架来实现此设置 以学习新的 RAC 3 框架的基础知识 我有一个文本字段 我希望文本输入包含 3 个
  • Ubuntu 上托盘消息的 Java 外观

    我通过托盘Icon displayMessage 在系统托盘上显示消息 但它们看起来不太好 我尝试将它们的外观和感觉更改为系统标准 但在创建图标之前调用 UIManager setLookAndFeel 并没有改变任何内容 UIManage
  • Github 中的“blob”对应什么?

    下面 URL 中 blob 后面的单词指向给定存储库的 master 分支 https github com celery celery blob master docs django first steps with django rst
  • 如果 vue 组件上的模式关闭,如何重置下拉数据?

    我的情况是这样的 我有两个组件 父组件和子组件 我的父组件是这样的