element 如何在默认事件中增加自定义参数

本文介绍了如何在Vue Element UI的el-autocomplete组件中,通过闭包方式传递自定义参数,避免覆盖默认行为,并强调了这种方法在处理开源组件时的优势。

前言

我们在使用一些 element 组件时,很多组件都有默认事件,这些默认事件通常会有一些默认参数以便于使用。

这些参数都是固定的,很有可能会不满足我们的业务需求,那么,我们就需要增加一些额外的参数了。

操作

这里用 带输入建议的 input 组件举例 <el-autocomplete>

这个组件有这样一个属性: fetch-suggestions

如果我们在使用时按照这样去传递参数,会覆盖默认的参数:

<!-- 错误做法-->
<!-- myArg1 和 myArg2 是自定义参数-->

<el-autocomplete
      v-model.trim="name"
      :fetch-suggestions="querySearch(myArg1, myArg2)"
  ></el-autocomplete>

正确的做法是使用闭包进行传参,这得益于 vue 可以给属性、方法、指令传入任意合法的 JavaScript 的语句:

<!-- 正确做法-->
<!-- queryString 和 cb 是默认参数-->
<!-- myArg1 和 myArg2 是自定义参数-->

<el-autocomplete
      v-model.trim="name"
      :fetch-suggestions="(queryString, cb) => { querySearch( queryString, cb, myArg1, myArg2 )}"
  ></el-autocomplete>

总结

使用闭包传参适用于所有的 vue 组件库,而且没有自定义参数个数限制。这对于我们抽象 element 这类开源库组件有非常好的帮助

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值