3 votes

Comment sauvegarder une requête de recherche et l'afficher sur un nouveau composant ?

J'ai créé une nouvelle page appelée "recherche sauvegardée". À l'aide du bouton de sauvegarde, je veux pouvoir envoyer les dates saisies pour qu'elles soient affichées sur la nouvelle page. Ainsi, elles seront affichées sur cette page dès que je cliquerai sur le bouton.

Ce que j'ai fait jusqu'à présent ? Je suis en mesure d'entrer des plages de dates et lorsque je clique sur le bouton de sauvegarde, je peux les voir se connecter à la console.

Ce que je recherche ? Je veux afficher les dates sauvegardées et enregistrées dans la console sur la nouvelle page. Quelle est la procédure à suivre pour ce faire ? Je veux pouvoir afficher les données enregistrées dans la console sur la nouvelle page.

Un exemple vidéo serait utile si quelqu'un peut m'y rediriger, sinon une résolution écrite ferait l'affaire.

Le nouvel écran de recherche est utilisé pour créer une recherche. Ici, je peux créer une recherche en utilisant le sélecteur de plage de dates pour voir la liste selon la date de naissance et la date de réception : New Search Screen is used to create a search here I can create a search using date range picker to  see the list according to date of birth and date received

Saved Search Screen I would like to display search entries which were saved in new search and are displayed in the console

1ère image = écran de recherche sauvegardée Je voudrais afficher les entrées de recherche qui ont été sauvegardées à partir de la nouvelle recherche et qui sont affichées dans la console.

Requêtes enregistrées depuis le nouvel écran de recherche vers la console :

fromDateReceived: Wed Apr 01 2020 13:24:24 GMT+0100 (British Summer Time) {}
toDateReceived: Sun Apr 05 2020 13:24:24 GMT+0100 (British Summer Time) {}
fromDateOfBirth: Mon Apr 06 2020 13:24:24 GMT+0100 (British Summer Time) {}
toDateOfBirth: Wed Apr 08 2020 13:24:24 GMT+0100 (British Summer Time) {}

Nous utilisons actuellement onSubmit pour capturer les requêtes dans le searchcomponent.ts :

onSubmit() {
    console.log(this.searchForm.value);
    this.savedsearchService.savedsearch(this.searchForm.value)
    .subscribe(
      response => console.log('Successful', response),
      error => console.error('Error', error)
    );
  }

La suite du fichier saved.service.ts :

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';

@Injectable({
  providedIn: 'root'
})
export class SavedSearchService {

  url = 'http://localhost:4200/ui/savedSearch';
  constructor(private http: HttpClient) { }

  savedsearch(searchData) {
    return this.http.post<any>(this.url, searchData);
  }
}

1voto

Danil Sidorenko Points 26

Tout d'abord, vous pouvez stocker vos dates dans le stockage local.
La deuxième, c'est de créer un sujet dans SavedSearchService.

il y a un petit exemple sur stackblitz(pas le mien) : enlace

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X