Jeśli chodzi o odstępy, na komponencie wyboru obrazu, po prostu dodam tutaj trochę marginesu dolnego wynoszącego
15, aby dodać odstępy między tym komponentem wyboru obrazu a wszystkim innym w formie, ale ważniejsze jest to,
że w pewnym sensie przekażę ten wybrany obraz do naszego miejsca, naszego nowego ekranu miejsca, ponieważ właśnie
tam potrzebujemy obrazu, nie potrzebuję go tutaj tylko jako podglądu, potrzebuję
go również na innym ekranie.
Cóż, w tym celu możemy przejść do naszego programu do robienia zdjęć, a
kiedy ustawimy to jako podgląd, oczywiście możemy również sięgnąć do naszych rekwizytów i założyć, że otrzymamy powiedzmy na zdjęciu
zrobionym rekwizyt, który powinien wskazywać na funkcję, która definiujemy na nowym ekranie miejsca, który możemy teraz wykonać i
do tej funkcji przesyłam również mój imageUri. Więc nie przechowuję go tutaj wewnętrznie, aby
mieć podgląd, ale przesyłam go również do komponentu nadrzędnego, że tak powiem, i powinno to być zrobione na zdjęciu.
Aby wszystko zadziałało, musimy przejść do nowego ekranu miejsca i dodać to na zdjęciu wykonanym tutaj w
selektorze obrazów, a teraz powinno
to wskazywać na funkcję, która jest wykonywana przez selektor obrazów, kiedy
to zrobiliśmy wybierz zdjęcie.
Oczywiście tutaj też chcę zapisać tę wartość, więc dodam tutaj inny stan i jest
to wartość obrazu lub po prostu obraz i
zestaw obrazu, być może wybrany obraz i zestaw wybranej nazwy obrazu zależy od Ciebie, który początkowo jest puste lub niezdefiniowane w ten sposób, a teraz
możemy dodać do
tego nową funkcję, tutaj
zrobiona procedura obsługi obrazu, która na końcu odbiera ścieżkę obrazu, prawda, to właśnie przekazujemy z selektora obrazów,
gdy wywołujemy tę funkcję, a następnie ustawiamy wybrany
obraz do ścieżki obrazu otrzymujemy jako argument, a program obsługi obrazu jest teraz przekazywany do selektora
obrazu za pomocą rekwizytu wykonanego na zdjęciu i w ten sposób komunikujemy
się między selektorem zdjęć a nowy ekran miejsca. Kiedy teraz klikamy przycisk Zapisz i
dlatego wykonywana jest procedura obsługi zapisu miejsca, kiedy wysyłamy tę akcję dodawania
miejsca, chcę teraz przesłać wybrany
obraz, więc tutaj ten stan jest stały. Oczywiście w tym celu musimy nieco ulepszyć kreatora dodawania
akcji miejsca, teraz oczekuje tylko tytułu, powinien teraz także oczekiwać obrazu i dodać go
tutaj do naszych danych miejsca
i w reduktorze, teraz chcę dodaj obraz do tworzonego miejsca, ale ważne, w tej
chwili
nasz model miejsca
nie oczekuje obrazu, więc nadszedł czas, aby to zmienić, dodaj imageUrl tam, być może imageUri, ponieważ
jest lokalny, a następnie ma ten identyfikator URI obrazu ustawiamy na równe imageUri, dostajemy się tutaj i teraz z tym
dostosowaniem, z powrotem w reduktorze miejsc, otrzymujemy teraz dodatkowe dane obrazu w naszej akcji i musimy przekazać to nowemu konstruktorowi
miejsc, więc tutaj akcja. placeData. Obraz jest tym, co chcę przekazać, więc
jest to nowy argument dodany do konstruktora miejsca i akcji. placeData. image oczywiście odnosi się do
obrazu, który ustawiamy tutaj w naszym obiekcie akcji. Dzięki temu obraz jest faktycznie dodawany do miejsca, które jest
tworzone, a dzięki
temu na ekranie listy miejsc, w którym wyprowadzamy element miejsca, możemy teraz wprowadzić pewne dane do
obrazu, a byłoby to itemData. pozycja. imageUrl, adres URL obrazu, ponieważ itemData. item odnosi się do
pojedynczego miejsca, które jest tworzone zgodnie z definicją w naszym modelu miejsca i tam mamy imageUri
i dlatego oczywiście powinien to być imageUri, a nie URL, ale to ważne, to nie jest
tylko image, to imageUri, ponieważ
tutaj odsyłamy do obiektu miejsca według naszego modelu miejsca. Jeśli teraz to zapiszemy i zobaczymy, powinno to faktycznie
działać
i powinno pozwolić nam dodawać obrazy, które widzimy również na naszej liście miejsc.
Więc tutaj, jeśli kliknę zrób zdjęcie i wezmę to zdjęcie pozorne, tak jak to, przytnij to, a następnie dodaj tytuł tutaj i
kliknij zapisz miejsce, to nie wygląda tak
źle, widzimy tutaj nasze zdjęcie.
Teraz jedna rzecz jest ważna do zrozumienia.
Do tej pory przechowujemy ten obraz tylko w domyślnej ścieżce, którą wyciągamy z pudełka, która jest tymczasową ścieżką
i oczywiście nie tam, gdzie chcemy go przechowywać, ponieważ jak wspomniałem, będzie on okresowo
usuwany, a zatem ostatecznie stracimy nasz wizerunek, co oczywiście nie jest tutaj celem.