ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

巧用vue自定义指令修改elementUI组件

2022-01-28 10:58:00  阅读:304  来源: 互联网

标签:el 调用 自定义 elementUI 元素 VNode vue 指令


使用elementUI的工程项目中,在绝大多数情况下elementUI组件自带属性就能够满足我们的需求,但是某些极端情况下仍然需要对DOM元素进行底层操作,在面试过程中也会偶尔被问到。

vue针对此种情况为我们提供了自定义指令

举个例子:假如当前页面在初始化完成之后就需要聚焦到el-input框中,此时就可以定义一个自定义指令

注册局部指令

directives:{         
  focus:{
    inserted:{
      function(el){
        el.children[0].focus()
      }
    }
  }
}

注意:el本身没有focus()方法,需要指定到原生的input元素上,而原生的元素存在于el的children中,可以自行查看el.children

此时我们再将指令绑定到元素上即可

<el-input v-focus></el-input>

自定义指令的一个属性

  • bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。

  • inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)。

  • update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode 更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新。

  • componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用。

  • unbind:只调用一次,指令与元素解绑时调用。

其他属性可参考

标签:el,调用,自定义,elementUI,元素,VNode,vue,指令
来源: https://blog.csdn.net/weixin_42329676/article/details/122727934

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有