2017-07-05 6 views
1

スタックオーバーフローコメントと同様に機能を追加しようとしています。編集リンクをクリックするとdivがテキストボックスに変換され、送信ボタンが表示されます。クリック時にテキストボックスを編集してサイドにボタンを追加する方法角度

しかし、問題は複数のコメントがあります。これはngForを介して入力されています。編集がクリックされた選択されたdivから読み込み専用のプロパティを削除するにはどうすればいいですか?

これは私が試みたものです。

<div class="tab-content"> 
     <div id="email" class="tab-pane active"> 
      <div *ngFor="let i of comments; let index = index" [@flyInOut]> 
       <div class="well"> 
        <input type=”text” value="{{i.comment}}" [readonly]="false" /><span> 
         Edited <time>{{today | amDifference: i.createdAt :'minutes' 
          : false}}</time> before 
        </span><a><i 
         class="align remove glyphicon glyphicon-remove-sign glyphicon-white" 
         (click)="edit(index)"></i></a> 
       </div> 
      </div> 
     </div> 
    </div> 

私はまた、私はすでにだけamDifference未満5分でコメントの編集]ボタンを有効にしてから、我々は示すために、どのように同じのバックエンドの一部を行っている時間を確認するようなものを持っているのが大好きです削除オプション。

+0

PrimeNGは、このためのディレクティブを持っています。 GitHubのソースコードを見てください:https://www.primefaces.org/primeng/#/inplace – cgTag

+0

@ThinkingMediaには、primeNGを使用する代わりに独自に構築できるものがあります – INFOSYS

+0

このような場合私はこのような何かのようなものを構築することを考えていた時間要素の権利で有効または無効にすることはできません – INFOSYS

答えて

0

あなたは、このようなように表示するように第二のテンプレートを提供するために、ngIf-Elseを使用することができます。

<div class="tab-content"> 
    <div id="email" class="tab-pane active"> 
     <div *ngFor="let i of comments; let index = index" [@flyInOut]> 
      <div *ngIf="i.editMode; else editBlock" class="well"> 
       <!-- Show stuff here --> 
       <a> 
        <i class="align remove glyphicon glyphicon-remove-sign glyphicon-white" 
         (click)="i.editMode=true"> 
        </i> 
       </a> 
      </div> 
      <ng-template #editblock> 
       <div class="well"> 
        <!-- Edit stuff here --> 
        <input type="button" (click)="i.editMode=false" value="Done"/> 
       </div> 
      </ng-template> 
     </div> 
    </div> 
</div> 
+0

すべてがdivの周りにラップされるので。編集ボタンをクリックすると、すべてのテキストボックスが編集されますか?また、時間をチェックして編集ボタンを無効にする必要がある場合でも、私たちはここでそれを受け入れることができるとは思っていません。 – INFOSYS

+0

あなたがここで探している結果が不明ですが、表示/非表示、包含/除外、他の要素、入力、ボタン、または他のタイプの要素のコンテナであるかどうかにかかわらず、DOM要素を無効/無効にします。 * ngIfを使用すると、DOMに要素を含めるかどうかを指定できます(基本的には表示/非表示ですが、ページ読み込み時に要素が必要ない場合は描画要素を避けることができます)。 [disabled] = "true/false"を使用すると、角度データバインディングを使用して要素を無効または有効にすることができます。 [readonly]も同様に動作しますが、あなたはあなたの 'コメント'の中にあるデータを提供するだけで済みます。 – snaplemouton

関連する問題