Vue2 如何使用 $refs 定位元素并删除 css 类

Posted

技术标签:

【中文标题】Vue2 如何使用 $refs 定位元素并删除 css 类【英文标题】:Vue2 how to use $refs to target an element and remove css class 【发布时间】:2022-01-11 16:59:35 【问题描述】:

我想在调用方法时删除元素的 css 类。 但我想使用 $refs 来做到这一点。

模板:

  <div class="modal"  ref="myModal"></div>

方法:

      closeDropdown: function() 
            this.$refs.myModal.$el.removeClass("open");
      

【问题讨论】:

【参考方案1】:

两步:

    const modalElement = this.$refs.myModal; // reference to the DOM element modalElement.classList.toggle("custom"); // use classList API of DOM element

classList API 参考:https://developer.mozilla.org/en-US/docs/Web/API/Element/classList,您可以使用此 API 通过 add()、remove()、replace() 和 toggle() 方法修改其类。

您也可以参考这个 CodeSandbox Vuejs 示例:https://codesandbox.io/s/nervous-wood-s3nhq?file=/src/App.vue:269-481

【讨论】:

【参考方案2】:
this.$refs.myModal.classList.remove("open");

【讨论】:

以上是关于Vue2 如何使用 $refs 定位元素并删除 css 类的主要内容,如果未能解决你的问题,请参考以下文章

Vue2 使用 $ref 从子组件加载数据并放入父组件的数据

vue3 如何通过 ref 获取 DOM 节点

vue中ref的作用

vue1和vue2获取dom元素的方法

Odoo模块开发教程11-导入导出数据其他操作

Vue3 form表单通过ref获取dom的写法