我们在封装组件的时候,都会封装一些方法返回值到组件中,这些方法往往参数或者返回参数固定,比如我们在运用element ui 或者iview是组件会自带很多返回值函数,往往我们在组件循环或者自定义参数需要跟随组件返回值函数参数一起传递,但是组件参数固定,这里采用一个替换的方法,比如element 自定义输入框Autocomplete:
<el-autocomplete
size="mini"
v-model="item.name"
placeholder="请输入运动员姓名"
@select="athleteNameSelect"
></el-autocomplete>
这里@select="athleteNameSelect" 的参数只有一个,就是点击选中建议项时触发,返回当前点击的建议项,如果还需要自定义参数呢?这样写:
<el-autocomplete
size="mini"
v-model="item.name"
:fetch-suggestions="querySearchAsync"
placeholder="请输入运动员姓名"
@select="(it)=>athleteNameSelect(it,index)"
></el-autocomplete>
这里采用一个匿名函数接收函数固定参数,然后匿名函数里放自己定的参数和返回值参数这两个参数,就可以达到目的啦。当然,举一反三,类似的这样问题都可以尝试这种方法解决。
技术之路,永无止境。