ayiaq1 / el-tree-select

基于element-ui2.x扩展下拉树
224 stars 93 forks source link

能否增加搜索input的change事件,或增加选项配置可录入即时搜索 #27

Closed samyhd closed 5 years ago

samyhd commented 5 years ago

有时为了搜索方便,在搜索框录入数据后即时调用搜索事件显示过滤后的结果,免得手在键盘上录入搜索条件后,又要移到鼠标上点一下搜索按钮,影响效率。

我想增加下面功能: 1)简单点就把搜索框的change事件开放出来,有需要即时搜索的,在此事件进行过滤。 2)增加搜索选项,如果是即时模式,那在录入时即时调用searchFun、且隐藏搜索框上的搜索按钮(它没作用了、隐藏简洁点)

我觉得第二种方式对调用者方便点,也美观,望能考虑,谢谢分享。

image

ayiaq1 commented 5 years ago

`<el-input v-if="treeParams.filterable" v-model="keywords" size="mini" class="input-with-select mb10" @change="_searchFun">

        </el-input>`
输入文本框输入内容抛出
对外抛出搜索方法,自行判断是走后台查询,还是前端过滤`
前端过滤:this.$refs.treeSelect.$refs.tree.filter(value);`
后台查询:this.$refs.treeSelect.treeDataUpdateFun(data);`

_searchFun() this.$emit('searchFun', this.keywords);

使用的是el-input的change事件抛出了 searchFun 在回车和失去焦点的时候会抛出事件

samyhd commented 5 years ago

不好意思,是我提问前没考虑周全

我的期望功能是有以后两点:

1)现在是基于input的@change事件,它的触发时机是回车或失去焦点才发生,而我想的是在输入内容发生改变时发生,即输入“ABC”,我想在A时一次、B一次、C一次,我可以实时过滤,这样反应快点,这样是watch eliput的v-model吧 2)我想在第1点这个模式下隐藏掉搜索按钮(因为它也没必要了,且造成界面复杂、不太美观)

谢谢

ayiaq1 commented 5 years ago

image

输入即改变暂不考虑,选择和官方一致也是考虑大数据下的树组件性能(防抖节流不能改变根本问题)以及官方组件的统一便于迭代, 搜索按钮本来目的是增加用户的理解,你可以通过popoverClass设置屏蔽搜索图标以及对Input设置宽度100%

samyhd commented 5 years ago

按你的想法,不增加配置“输入即改变”,但是能否多增加一事件就是value的改变事件,要不对于我们调用者就是想按业务实现“输入即改变”那也没法实现。

另外,增加这一事件并不是说跟官方不统一吧,只是作为功能增强

如果上面没有实现的,那隐藏按钮也是没有意义的。

ayiaq1 commented 5 years ago

这个配置暂不考虑,你可以把源码拉倒本地做做扩展 Vue.use引入全局 然后订阅我的git同步更新就行