gpt4 book ai didi

Angular Material,Mat Chips Autocomplete Bug,matChipInputTokenEnd 在 optionSelected 之前执行

转载 作者:行者123 更新时间:2023-12-03 14:33:39 25 4
gpt4 key购买 nike

当在输入中输入一些文本并通过按回车键从自动完成中选择一个选项时,它会将两个字符串都保存为筹码。 Image here

但是,当使用鼠标从自动完成中选择一个选项时,不会发生这种情况。

Angular Material Autocomplete Chips 上提供的示例中,在所描述的情况下,optionSelected 首先触发,而在我的本地计算机上的同一代码中,它在 matChipInputTokenEnd 之后执行,因此导致了错误。

有没有人遇到过这个问题?

最佳答案

关于选择事件,当您按下 ENTER 时,输入中的 matChipInputTokenEnd 和 中的 optionSelected垫子自动完成 ,会开火。通常,这发生在 optionSelected 首先发生,因此当输入事件触发时,芯片已经被添加并且输入将没有要添加的值。这就是您通过鼠标单击不会遇到此问题的原因,因为只会触发 optionSelected 事件。

现在我说正常是因为我在模块导入组件上也遇到了这个问题。如果这是你的情况,这可能是一个错误。

但是,我确实找到了一个快速的解决方案。我所做的是检查 垫子自动完成 对话框已打开并阻止 垫芯片输入从添加一个新元素。检查选项列表中的选定项目也是一种可能性,但它的性能较低,而不是我正在寻找的行为。

希望这可以帮助:

@ViewChild('chipAutocomplete') chipAutocomplete: MatAutocomplete;

addElement(event: MatChipInputEvent) {
if ((event.value || '').trim() && !this.chipAutocomplete.isOpen) {
this.value.push({
name: event.value.trim()
});
}

if (event.input) {
event.input.value = '';
}

this.chipInputControl.setValue(null);
}

关于Angular Material,Mat Chips Autocomplete Bug,matChipInputTokenEnd 在 optionSelected 之前执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52608700/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com