无法正式执行 Angular 中自动完成字段的更改事件
Not able to perform change event with autocomplete field in Angular formly
我正在使用自动完成字段来填充值。我在表达式属性中使用 templateOptions.change 来设置其他字段的值,但我注意到仅当自动完成的值被 deselected 时才会调用 change 事件。当我尝试 select 时,自动完成更改事件的值未被调用。
我创建了一个 stackblitz link 来实现我的要求,我注意到更改事件仅在我们更改自动完成下拉列表的值后调用,如果它是空白,那么我们 select它不调用更改事件的任何值。
我想知道是否有下拉列表的 onselect 选项而不是 change 事件。
我也尝试将钩子与模板选项一起使用,但没有成功,如果有人可以提供帮助,那将会很有帮助。
谢谢
请找到这个link:https://stackblitz.com/edit/angular-bf6g6m-6twrjw
第一步:
当我 select 自动完成下拉列表中的第一个值时:观察未调用更改事件
第二步:
现在,当我 select 下拉列表中的另一个值时:观察是更改事件被调用。
使用 formly 和 ng-prime 自动完成时,更改事件无法按预期工作。
我尝试使用 onSelect,效果很好,事件的行为符合预期。
请在下面找到以下代码,只需将 change 事件替换为 onSelect 即可使用自动完成、formly、primeng 和 angular。
形式自动完成组件:(Ng-prime形式)
(onSelect)="to.onValueSelect(field,$event)"
在自动完成字段中使用 onSelect 时
fields: FormlyFieldConfig[] = [
{
key: 'Autocomplete',
type: 'autocomplete',
templateOptions: {
required: true,
label: 'Autocomplete',
placeholder: 'Placeholder',
filter: (term) => of(term ? this.filterStates(term) : states.slice()),
onValueSelect: (field, $event) => { //call the onSelect event
console.log('----->select event called')
}
},
},`
我正在使用自动完成字段来填充值。我在表达式属性中使用 templateOptions.change 来设置其他字段的值,但我注意到仅当自动完成的值被 deselected 时才会调用 change 事件。当我尝试 select 时,自动完成更改事件的值未被调用。
我创建了一个 stackblitz link 来实现我的要求,我注意到更改事件仅在我们更改自动完成下拉列表的值后调用,如果它是空白,那么我们 select它不调用更改事件的任何值。 我想知道是否有下拉列表的 onselect 选项而不是 change 事件。 我也尝试将钩子与模板选项一起使用,但没有成功,如果有人可以提供帮助,那将会很有帮助。 谢谢
请找到这个link:https://stackblitz.com/edit/angular-bf6g6m-6twrjw
第一步:
当我 select 自动完成下拉列表中的第一个值时:观察未调用更改事件
第二步:
现在,当我 select 下拉列表中的另一个值时:观察是更改事件被调用。
使用 formly 和 ng-prime 自动完成时,更改事件无法按预期工作。 我尝试使用 onSelect,效果很好,事件的行为符合预期。
请在下面找到以下代码,只需将 change 事件替换为 onSelect 即可使用自动完成、formly、primeng 和 angular。
形式自动完成组件:(Ng-prime形式)
(onSelect)="to.onValueSelect(field,$event)"
在自动完成字段中使用 onSelect 时
fields: FormlyFieldConfig[] = [
{
key: 'Autocomplete',
type: 'autocomplete',
templateOptions: {
required: true,
label: 'Autocomplete',
placeholder: 'Placeholder',
filter: (term) => of(term ? this.filterStates(term) : states.slice()),
onValueSelect: (field, $event) => { //call the onSelect event
console.log('----->select event called')
}
},
},`