1

動的なキーと値を持つ次のようなマップがあります

public featureData = new Map<string, string>();

キーと値のペアは次のようになります (他の動的な値が存在する場合があります)

[
  {"name" : "Bangalore"},
  {"type" : "city"},
  {"lat" : "12.9716"},
  {"lon" : "77.5946"}
]

このデータを HTML で表示するには、次のコードを使用しました

<div class="modal-body">
 <div class="form-group">
  <h4>
   <ol>
    <li *ngFor="let feature of this.featureData | keyvalue"> {{ feature.key }} : <input type="text" class="custom-field form-control form-control-sm form-control form-control-sm-sm"  (change)="updateAnyHashMap(this.featureData, feature.key, $event.target.value)" autocomplete="off" value="{{ feature.value }}"> </li>
   </ol>
  </h4>
 </div>
</div>

そして、上記のコードは次のような出力を私に与えます

ここに画像の説明を入力

しかし、ngSwitchを使用してフィールドlatlonを無効にする必要があります。次のように出力を取得できるように

ここに画像の説明を入力

4

2 に答える 2

1

ngSwitch属性を使用して実行できるのに、なぜ使用したいのかわかりませんdisabledngSwitchこの場合は使えないと思います

比較するものが何もないので、キー値と直接比較しています

inputあなたのように変更します

<input type="text" class="custom-field form-control form-control-sm form-control form-control-sm-sm"  (change)="updateAnyHashMap(this.featureData, feature.key, $event.target.value)" autocomplete="off" value="{{ feature.value }}" [disabled]="feature.key === 'lat' || feature.key === 'lon'">

簡単に言えば、次の属性を追加しました

[disabled]="feature.key === 'lat' || feature.key === 'lon'"
于 2020-04-21T13:18:25.000 に答える