Angular中是否可以将ngModel与Map项进行双向绑定?
创始人
2024-10-31 16:30:23
0

可以使用自定义的表单控件来实现将ngModel双向绑定到Map项的功能。以下是具体步骤:

  1. 创建一个自定义的表单控件,实现ControlValueAccessor接口的方法,例如:

import { Directive, Input, ElementRef, Renderer2, forwardRef } from '@angular/core'; import { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms';

@Directive({ selector: '[mapInput]', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => MapInputDirective), multi: true } ] }) export class MapInputDirective implements ControlValueAccessor { onChange: any = () => {}; onTouched: any = () => {};

@Input('mapInput') key: string; @Input() map: Map;

constructor(private el: ElementRef, private renderer: Renderer2) { }

writeValue(value: any): void { this.renderer.setProperty(this.el.nativeElement, 'value', this.map.get(this.key)); }

registerOnChange(fn: any): void { this.onChange = fn; }

registerOnTouched(fn: any): void { this.onTouched = fn; }

setDisabledState?(isDisabled: boolean): void { this.renderer.setProperty(this.el.nativeElement, 'disabled', isDisabled); }

onInputChange(value: string) { this.map.set(this.key, value); this.onChange(this.map); } }

  1. 在组件中使用该自定义表单控件,例如:

import { Component, OnInit } from '@angular/core'; import { FormBuilder, FormGroup } from '@angular/forms';

@Component({ selector: 'app-my-component', template:

, }) export class MyComponent implements OnInit { myMap: Map = new Map([ ['key

相关内容

热门资讯

必备透视!线上德州的辅助器是什... 必备透视!线上德州的辅助器是什么,epoker透视底牌(透视)原来一直总是有辅助攻略(哔哩哔哩)1、...
分享透视!红龙poker辅助,... 分享透视!红龙poker辅助,拱趴大菠萝挂(透视)一直是真的有辅助软件(哔哩哔哩)1、金币登录送、破...
必备透视!pokemmo内置修... 必备透视!pokemmo内置修改器,约局吧能不能开挂(透视)原来存在有辅助app(哔哩哔哩)1、首先...
关于透视!wepoker安装教... 关于透视!wepoker安装教程,哈糖大菠萝能开挂吗(透视)果然一直都是有辅助工具(哔哩哔哩)1、上...
解谜透视!poker mast... 解谜透视!poker master辅助,德州圈脚本(透视)竟然存在有辅助插件(哔哩哔哩)1、每一步都...
有挂透视!sohoo poke... 有挂透视!sohoo poker辅助器,德州透视是真的吗(透视)原来是真的有辅助插件(哔哩哔哩)1、...
推荐透视!佛手在线是不是有挂,... 推荐透视!佛手在线是不是有挂,poker world辅助器(透视)一直真的有辅助app(哔哩哔哩)1...
了解透视!拱趴大菠萝机器人,红... 了解透视!拱趴大菠萝机器人,红龙poker辅助(透视)果然真的有辅助攻略(哔哩哔哩)1.拱趴大菠萝机...
科普透视!pokemmo脚本辅... 科普透视!pokemmo脚本辅助器下载,sohoopoker辅助(透视)原来存在有辅助脚本(哔哩哔哩...
曝光透视!约局吧德州透视,德州... 曝光透视!约局吧德州透视,德州私人局脚本(透视)好像是真的有辅助神器(哔哩哔哩)1、进入游戏-大厅左...