Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

203
Views
Cómo hacer que el elemento `display: none` haga clic en el botón

Quiero implementar una función para ocultar elementos cuando se hace clic en el botón en una aplicación creada con Angular 2.

 <div *ngFor="let todo of todos" class="col-sm-8 col-sm-offset-2"> <div class="panel panel-default step"> // from here <div class="panel-body"> <a [routerLink]="['/todo', todo.id]">{{todo.title}}</a> <button (click)="delete(todo.id)" type="button" class="btn btn-success btn-circle pull-right"><i class="glyphicon glyphicon-ok"></i></button> </div> </div>//so far </div>

Quiero saber cómo hacer que desaparezca el todo cuando se hace clic en el botón con el código anterior. Aunque es una pregunta elemental, por favor enseñe.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Debería eliminar ese elemento de tareas pendientes como se muestra a continuación

 delete(id:number){ this.todos.splice(id,1) }
over 4 years ago · Santiago Trujillo Report

0

Creo que esta no es la forma correcta de 'eliminar' un elemento en una lista de tareas pendientes. La respuesta de @Aravind es mejor para eso.

Pero si realmente quieres usar display:none , puedes hacer esto como:

https://plnkr.co/edit/eXwAWWeH9N6REsqpzFCq?p=preview

 <element ng-style="displayStyle"></element> <button value="displayNone" ng-click="displayStyle={'display':'none'}">Display none</button>
over 4 years ago · Santiago Trujillo Report

0

Pequeños cambios en la respuesta de Aravind, ya que necesitamos encontrar el índice de todo , por lo que se eliminará todo correcto

Me gusta pasar el objeto en eliminar:

 (click)="delete(todo)"

Necesita encontrar el índice de todo y luego splice .

 delete(todo) { this.todos.splice(this.todos.indexOf(todo),1); }

Actualizar:

Me acabo de dar cuenta de que parece que solo desea ocultar la tarea pendiente y no eliminarla por completo. Bueno, esto se puede lograr con lo siguiente. Tras la inicialización, todas las tareas pendientes son visibles. Podríamos introducir una nueva variable a todo, cuando queramos ocultarla. Inicialmente, esta propiedad no existe, por lo que marcamos dentro de la iteración: *ngIf="!todo.hidden" , código completo:

 <div *ngFor="let todo of todos"> <div class="panel-body" *ngIf="!todo.hidden">{{todo.name}} <button (click)="hide(todo)" type="button">Hide Todo</button> </div> </div>

Y la función ocultar establece la propiedad hidden como verdadera:

 hide(todo) { todo.hidden = true; }

Obviamente, esto no da la opción de mostrar realmente el todo, pero eso no se mencionó en su pregunta.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!