Closed hmilin closed 10 months ago
<a-auto-complete
v-model:value="value"
:options="options"
style="width: 200px"
@search="handleSearch"
@select="onSelect"
>
<a-textarea
placeholder="input here"
class="custom"
style="height: 50px"
@keypress="handleKeyPress"
@press-enter="e => e.preventDefault()"
/>
</a-auto-complete>
增加一行@press-enter="e => e.preventDefault()"
即可解决
<a-auto-complete v-model:value="value" :options="options" style="width: 200px" @search="handleSearch" @select="onSelect" > <a-textarea placeholder="input here" class="custom" style="height: 50px" @keypress="handleKeyPress" @press-enter="e => e.preventDefault()" /> </a-auto-complete>
增加一行
@press-enter="e => e.preventDefault()"
即可解决
会导致textarea本身的换行功能用不了
2.x 没有问题 3.x 版本开始有这个问题
😫 找半天没找到到底是哪里的问题
这个组件逻辑上是没有问题的,原理上你敲了回车,textarea上会切换到第二行,然后下面options中也会更新加上enter
(也就是空格,类似下图)
然后在你选择的时候,如果有回车的option(再options中其实是空车)被选中的话,回填到textarea中的时候会带上回车(也就是空行)的。简单来说按回车就是输入,输入就会重新选择提示,就是这么个逻辑。
如果不允许空格输入的话,就使用 @selicens 的方式就可以了。
@kovsu 2.x 没有问题是因为在textarea中是不能输入enter的,所以options中没有空格。但是如果在textarea中输入空格的话,options中就会出现enter
的效果,选中的话文本在textarea中就会换行。
我觉得不合理。有这个选择框的时候,按回车就应该只有选择而不是还有一个输入。🤔
我觉得不合理。有这个选择框的时候,按回车就应该只有选择而不是还有一个输入。🤔
如果是这个逻辑的话, @selicens 的方式就可以处理这个问题
我觉得不合理。有这个选择框的时候,按回车就应该只有选择而不是还有一个输入。🤔
如果是这个逻辑的话, @selicens 的方式就可以处理这个问题
目前的设计没有办法判断按enter是输入还是选择吧,可以在select的open为true时,取消textarea的聚焦(也就是不让输入)。但是好像取消聚焦的话,select的open会变为false...
我看了一下 antd,它的实现是没有问题的。
先放着吧,一时半会儿也解决不了 😵💫
This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days
这个问题依然存在,目前有什么解决方法吗?
可以看到,即使补全未展示时,按下回车也会选中第一项数据
Version
4.0.1
Environment
Windows, Chrome latest, Vue latest
Reproduction link
https://antdv.com/components/auto-complete#components-auto-complete-demo-custom
Steps to reproduce
What is expected?
should not wrapped. Similar to Antd: https://ant.design/~demos/auto-complete-demo-custom
What is actually happening?
wrapped when selecting options by the Enter key