Quasar QSelect弹出窗口,并在点击时持续输入文本



我正在尝试设置一个由用户输入驱动的QSelect,以实现";自动完成";行为官方文档中有几个例子,它们使用了@filter回调。

我目前有两个问题:

  1. 每当我在输入字段外单击时,输入文本就会丢失,弹出窗口也会消失
  2. 如果我点击输入,当前文本仍然存在,但弹出窗口会被隐藏,直到我再次点击它

对于后一个问题,一种解决方法是强制弹出窗口在单击时显示:

<q-select
ref="input"
...
@click.native.prevent="onClick"
>
...
onClick(){
if( this.searchFilter.length > 0){
this.$refs.input.showPopup()
}
}

然而,不便之处在于弹出窗口在再次显示之前仍会很快消失一小段时间。我也尝试过使用@click.native.stop而不是@click.native.prevent,但没有成功。

至于第1个问题,我甚至还没有找到解决办法。

这是一个相关的问题,尽管弹出窗口的消失在他的案件中是一种通缉行为。

我用一支基本的钢笔来说明这个问题。尝试在输入上单击或在输入的外部单击相同的高度。

诀窍是使用@click.capture.native,然后通过event.stopImmediatePropagation()有条件地停止回调函数内的传播

相关内容

  • 没有找到相关文章

最新更新