teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

14

追記5追加

2021/05/31 22:58

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -323,4 +323,15 @@
323
323
 
324
324
  #追記4
325
325
 
326
- ![イメージ説明](92e33ad4950cdf9476d07ec2cdc033c6.png)
326
+ ![イメージ説明](92e33ad4950cdf9476d07ec2cdc033c6.png)
327
+
328
+ #追記5
329
+
330
+ ![イメージ説明](24dd568c56966550983b7e534bdacfca.png)
331
+ プロフィール画像選択前
332
+
333
+ ![イメージ説が9563d0fae34ce1c21bb078978b152.png)
334
+ プロフィール画像選択後
335
+
336
+ ![イメージ説明](8cc9d6fc81790670731827e876553b3f.png)
337
+ 「更新ボタン」押下後直後(アラート表示時)

13

追記4追加

2021/05/31 22:58

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -321,4 +321,6 @@
321
321
 
322
322
  ![イメージ説明](13da27559ac777edd8651fae3dd9a8f2.png)
323
323
 
324
- #追記4
324
+ #追記4
325
+
326
+ ![イメージ説明](92e33ad4950cdf9476d07ec2cdc033c6.png)

12

追記4追加

2021/05/30 20:50

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -319,4 +319,6 @@
319
319
 
320
320
  #追加3
321
321
 
322
- ![イメージ説明](13da27559ac777edd8651fae3dd9a8f2.png)
322
+ ![イメージ説明](13da27559ac777edd8651fae3dd9a8f2.png)
323
+
324
+ #追記4

11

追記3追加

2021/05/29 21:56

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -315,4 +315,8 @@
315
315
  #追記2
316
316
 
317
317
  ![イメージ説明](361fc0ba4eb2a727fef9514ffb8fe67d.png)![イメージ説明](27eef8aaf09b4cd9bf640fa088b198f3.png)
318
- ![イメージ説明](452c823b2f2a5ea263bce459c71c2f27.png)
318
+ ![イメージ説明](452c823b2f2a5ea263bce459c71c2f27.png)
319
+
320
+ #追加3
321
+
322
+ ![イメージ説明](13da27559ac777edd8651fae3dd9a8f2.png)

10

実際のコードにmypageのコード追加

2021/05/29 21:17

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -27,11 +27,62 @@
27
27
  #実際のコード
28
28
 
29
29
  ```ここに言語を入力
30
+ <template>
31
+ <div>
32
+ <Header />
33
+ <div class="mypage flex">
34
+ <div class="mypage-inner flex">
35
+ <div class="profile-inner-l flex">
36
+ <img
37
+ class="profile-inner-l-img"
38
+ :src="uploadedImage == '' ? preview : uploadedImage.fileUrl"
39
+ alt="プロフィール画像"
40
+ />
41
+ <div class="profile-inner-l-name txt">{{ profileData.name }}</div>
42
+ </div>
43
+ <div class="profile-inner-r flex">
44
+ <div class="item-inner">
45
+ <div class="post">
46
+ <div class="txt">{{ listData.length }}</div>
47
+ <p>POSTS</p>
48
+ </div>
49
+ <div class="bookmark">
50
+ <div class="txt">{{ bookmarkList.length }}</div>
51
+ <p>BOOKMARK</p>
52
+ </div>
53
+ </div>
54
+ <hr class="separate" />
55
+ <button
56
+ @click="
57
+ show();
58
+ openModal();
59
+ "
60
+ class="profile-edit flex"
61
+ >
62
+ プロフィール編集
63
+ </button>
64
+ <modal
65
+ class="modal-inner"
66
+ v-scroll-lock="open"
67
+ name="edit"
68
+ :width="1100"
69
+ :height="740"
70
+ >
71
+ <div data-modal="edit" aria-expanded="true" class="vm--overlay">
72
+ <div class="vm--top-right-slot"></div>
73
+ </div>
74
+ <div class="modal-header flex">
75
+ <h2 class="profile-tll flex">プロフィールを編集する</h2>
76
+ <hr class="separate" />
77
+ </div>
78
+ <div class="modal-body">
30
-        <div class="profile-inner flex">
79
+ <div class="profile-inner flex">
31
80
  <div class="profile-contens flex">
32
81
  <div class="profile-img-inner flex">
33
82
  <img
83
+ :src="
34
- :src="uploadedImage == '' ? preview : uploadedImage.fileUrl"
84
+ uploadedImage == '' ? preview : uploadedImage.fileUrl
85
+ "
35
86
  width="200"
36
87
  height="200"
37
88
  class="profile-img"
@@ -56,27 +107,10 @@
56
107
  v-model="name"
57
108
  />
58
109
  </div>
59
- <div class="profile-contens flex">
60
- <select
61
- class="profile-select"
62
- v-model="sex"
63
- :style="{ color: sex == '' ? 'gray' : 'white' }"
64
- >
65
- <option class="profile-item" value hidden>性別</option>
66
- <option
67
- v-for="sex in sexs"
68
- :value="sex.name"
69
- :key="sex.id"
70
- class="profile-item"
71
- style="color: white;"
72
- >{{ sex.name }}</option
73
- >
74
- </select>
75
- </div>
76
-
77
-          ~ 省略 ~
78
110
 
111
+
79
- </div>
112
+  ~ 省略~
113
+
80
114
  <button
81
115
  class="hide-btn flex"
82
116
  @click="
@@ -87,19 +121,31 @@
87
121
  ×
88
122
  </button>
89
123
  </div>
90
- <button
91
- @click="
92
- updateBtn();
93
- uploadImage();
94
- "
95
- class="update-btn flex"
124
+ <button @click="updateBtn" class="update-btn flex">
96
- >
97
125
  更新
98
126
  </button>
99
127
  </div>
128
+ </div>
129
+ </modal>
130
+ </div>
131
+ </div>
132
+ <div class="profile-list">
133
+ <ul class="list-item">
134
+ <li class="list-items">
100
- ```
135
+ 性別:
136
+ <div class="list-color">{{ profileData.sex }}</div>
137
+ </li>
101
138
 
139
+  ~ 省略~
140
+
141
+ </template>
142
+
102
- ```ここに言語を入力
143
+ <script>
144
+ import firebase from "firebase";
145
+
146
+  ~ 省略~
147
+
148
+
103
149
  export default {
104
150
  data() {
105
151
  return {
@@ -107,8 +153,17 @@
107
153
  sex: "",
108
154
  sexs: [{ name: "男性" }, { name: "女性" }, { name: "その他" }],
109
155
 
110
-   ~ 省略 ~
156
+  ~ 省略~
111
157
 
158
+ ],
159
+ favMovie: "",
160
+ uploadedImage: "",
161
+ profileData: {},
162
+ //配列にしないようにする。
163
+ listData: [],
164
+ paginate: ["paginate-listData", "paginate-bookmarkList"],
165
+ bookmarkList: [],
166
+ open: false,
112
167
  file: "",
113
168
  preview: require("../assets/デフォルトの画像.jpg"),
114
169
  };
@@ -117,7 +172,7 @@
117
172
  Header,
118
173
  List,
119
174
  },
120
- methods: {
175
+ methods: {
121
176
  onFileChange(e) {
122
177
  const image = e.target.files; //選択された画像ファイルを選択
123
178
  this.file = image[0]; //画像ファイルを1つだけ選択
@@ -167,6 +222,7 @@
167
222
  fileUrl: fileUrl,
168
223
  time: firebase.firestore.FieldValue.serverTimestamp(),
169
224
  };
225
+ console.log(fileUrl, this.uploadUrl)
170
226
  uploadParam = { uploadedImage: uploadedImage };
171
227
  //uploadParamへuploadedImageを代入。
172
228
  const currentUser=firebase.auth().currentUser;
@@ -175,9 +231,7 @@
175
231
  })
176
232
  .then(()=>{
177
233
  })
178
- .catch((err)=>{
234
+
179
- console.log(err);
180
- });
181
235
  });
182
236
  });
183
237
  }
@@ -221,28 +275,43 @@
221
275
  // });
222
276
  // });
223
277
  },
278
+
224
- show() {
279
+  ~ 省略~
225
- this.$modal.show("edit");
280
+
226
- },
227
- hide() {
228
- this.$modal.hide("edit");
229
- },
230
- openModal() {
231
- this.open = true;
232
- },
233
- closeModal() {
234
- this.open = false;
235
- },
236
281
  },
237
- ```
282
+ created() {
283
+ const currentUser = firebase.auth().currentUser;
284
+ this.uid = currentUser.uid;
238
285
 
286
+ if (currentUser) {
287
+ firebase
288
+ .firestore()
289
+ .collection("users")
290
+ .doc(this.$route.params.uid)
291
+ .get()
292
+ .then((snapshot) => {
293
+ this.profileData = snapshot.data();
294
+ this.name = this.profileData.name || "";
295
+ this.sex = this.profileData.sex || "";
296
+ this.age = this.profileData.age || "";
297
+ this.access = this.profileData.access || "";
298
+ this.selfpr = this.profileData.selfpr || "";
299
+ this.profession = this.profileData.profession || "";
300
+ this.uploadedImage = this.profileData.uploadedImage || "";
301
+ this.genre = this.profileData.genre || "";
302
+ this.favMovie = this.profileData.favMovie || "";
303
+ //全てのデータを取得して、profileDataへ代入。
304
+ });
305
+ }
306
+
239
- #追記1
307
+  ~ 省略~
240
308
 
309
+ };
241
- 長期間回答が得られなかった為、以下サイトにも掲載させて頂いております。
310
+ </script>
242
311
 
243
- [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたいです。](https://qiita.com/TMTN/questions/5446a1dec75c3682dcbb)
244
- [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたい](https://ja.stackoverflow.com/questions/76127/vue-x-storage-%e3%83%97%e3%83%ad%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e7%94%bb%e5%83%8f%e3%82%92%e9%81%b8%e6%8a%9e%e5%be%8c-%e9%81%b8%e6%8a%9e%e3%81%97%e3%81%9f%e7%94%bb%e5%83%8f%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%81%9f%e3%81%84)
312
+ ```
245
313
 
314
+
246
315
  #追記2
247
316
 
248
317
  ![イメージ説明](361fc0ba4eb2a727fef9514ffb8fe67d.png)![イメージ説明](27eef8aaf09b4cd9bf640fa088b198f3.png)

9

画像追加

2021/05/29 19:59

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -245,4 +245,5 @@
245
245
 
246
246
  #追記2
247
247
 
248
+ ![イメージ説明](361fc0ba4eb2a727fef9514ffb8fe67d.png)![イメージ説明](27eef8aaf09b4cd9bf640fa088b198f3.png)
248
- ![イメージ説明](361fc0ba4eb2a727fef9514ffb8fe67d.png)
249
+ ![イメージ説明](452c823b2f2a5ea263bce459c71c2f27.png)

8

追記2追加

2021/05/29 17:09

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -241,4 +241,8 @@
241
241
  長期間回答が得られなかった為、以下サイトにも掲載させて頂いております。
242
242
 
243
243
  [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたいです。](https://qiita.com/TMTN/questions/5446a1dec75c3682dcbb)
244
- [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたい](https://ja.stackoverflow.com/questions/76127/vue-x-storage-%e3%83%97%e3%83%ad%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e7%94%bb%e5%83%8f%e3%82%92%e9%81%b8%e6%8a%9e%e5%be%8c-%e9%81%b8%e6%8a%9e%e3%81%97%e3%81%9f%e7%94%bb%e5%83%8f%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%81%9f%e3%81%84)
244
+ [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたい](https://ja.stackoverflow.com/questions/76127/vue-x-storage-%e3%83%97%e3%83%ad%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e7%94%bb%e5%83%8f%e3%82%92%e9%81%b8%e6%8a%9e%e5%be%8c-%e9%81%b8%e6%8a%9e%e3%81%97%e3%81%9f%e7%94%bb%e5%83%8f%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%81%9f%e3%81%84)
245
+
246
+ #追記2
247
+
248
+ ![イメージ説明](361fc0ba4eb2a727fef9514ffb8fe67d.png)

7

内容修正

2021/05/29 17:04

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -117,51 +117,109 @@
117
117
  Header,
118
118
  List,
119
119
  },
120
- methods: {
120
+ methods: {
121
+ onFileChange(e) {
122
+ const image = e.target.files; //選択された画像ファイルを選択
123
+ this.file = image[0]; //画像ファイルを1つだけ選択
124
+
125
+ // Firebase storageに保存するパス乱数で決めてthis.uploadUrlへ代入
126
+ const S =
127
+ "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
128
+ const N = 16;
129
+ this.uploadUrl = Array.from(crypto.getRandomValues(new Uint32Array(N)))
130
+ .map((n) => S[n % S.length])
131
+ .join("");
132
+
133
+ let self = this;
134
+ let fileReader = new FileReader();
135
+ //FileReaderは、Fileオブジェクトからデータを読み込むことのみを目的としたオブジェクト
136
+ fileReader.onload = function() {
137
+ //fileReader.onloadは、読み込みが正常に完了した時に発火するイベント
138
+ self.preview = fileReader.result;
139
+ //fileReaderの結果をself.previewへ代入
140
+ //関数の中ではfileReaderの[this]を参照してしまうため、一旦[self]に代入して、[this.]の代わりに[self.] とする
141
+ };
142
+ fileReader.readAsDataURL(this.file);
143
+ //this.fileの値をデータURLとして読み込み、488行目が発火する。
144
+ },
121
145
  // updateBtn()が押下されたら、dbインスタンスを初期化して"posts"という名前のコレクションへの参照
122
146
  updateBtn() {
123
- firebase
124
- .firestore()
125
- .collection("users")
126
- .doc(this.$route.params.uid)
127
- //現在のURLのパラメーターを取得。
128
- .set(
129
- {
130
- name: this.name,
131
- sex: this.sex,
132
- age: this.age,
133
- access: this.access,
134
- selfpr: this.selfpr,
135
- profession: this.profession,
136
- genre: this.genre,
137
- favMovie: this.favMovie,
138
- time: firebase.firestore.FieldValue.serverTimestamp(),
139
- //サーバ側で値設定
140
- },
141
- { merge: true }
142
- //set()でmergeをtrueにすると、上書き。updetaと同様。
143
- );
144
-
145
147
  this.$swal({
146
148
  title: "内容確認",
147
- text: "この内容で投稿しますか?",
149
+ text: "この内容で更新しますか?",
148
150
  icon: "info",
149
151
  buttons: true,
150
152
  dangerMode: true,
153
+ })
151
- }).then((willDelete) => {
154
+ .then((willDelete) => {
152
- if (willDelete) {
155
+ if (willDelete) {
156
+ let uploadParam = {};
157
+ if (this.uploadUrl) {
158
+ const uploadTask = firebase
159
+ .storage()
160
+ .ref(this.uploadUrl) //さっき決めたパスを参照して、
161
+ // .child(this.uploadUrl)
162
+ .put(this.file); //保存する
163
+ uploadTask.then(() => {
164
+ uploadTask.snapshot.ref.getDownloadURL().then((fileUrl) => {
165
+ //this.fileに保存されたrefを参照してファイルのダウンロード URL を取得して、fileUrlへ代入。
166
+ const uploadedImage = {
167
+ fileUrl: fileUrl,
168
+ time: firebase.firestore.FieldValue.serverTimestamp(),
169
+ };
170
+ uploadParam = { uploadedImage: uploadedImage };
171
+ //uploadParamへuploadedImageを代入。
172
+ const currentUser=firebase.auth().currentUser;
173
+ currentUser.updateProfile({
174
+ photoURL : fileUrl
175
+ })
176
+ .then(()=>{
177
+ })
178
+ .catch((err)=>{
179
+ console.log(err);
180
+ });
181
+ });
182
+ });
183
+ }
184
+ firebase
185
+ //画像をfirestoreに保存
186
+ .firestore()
187
+ .collection("users") //保存する場所を参照して、
188
+ .doc(this.$route.params.uid) //追加で保存setメソッドを使うと上書きされる
189
+ .set(
190
+ {
191
+ name: this.name,
192
+ sex: this.sex,
193
+ age: this.age,
194
+ access: this.access,
195
+ selfpr: this.selfpr,
196
+ profession: this.profession,
197
+ genre: this.genre,
198
+ favMovie: this.favMovie,
199
+ ...uploadParam,
200
+ time: firebase.firestore.FieldValue.serverTimestamp(),
201
+ //サーバ側で値設定
202
+ },
203
+ { merge: true }
204
+ //set()でmergeをtrueにすると、上書き。updetaと同様。
205
+ );
153
- this.$swal("投稿しました。", {
206
+ this.$swal("更新しました。", {
154
- icon: "success",
207
+ icon: "success",
155
- });
208
+ });
156
- this.$router.go({
209
+ // this.$router.go({
157
- path: `/mypage/${this.$route.params.uid}`,
210
+ // path: `/mypage/${this.$route.params.uid}`,
158
- force: true,
211
+ // force: true,
159
- });
212
+ // });
160
- //プロフィール編集されたらページをリロード
213
+ //プロフィール編集されたらページをリロード
161
- } else {
214
+ } else {
162
- this.$swal("キャンセルしました。");
215
+ this.$swal("キャンセルしました。");
163
- }
216
+ }
164
- });
217
+ })
218
+ // .catch(() => {
219
+ // this.$swal("更新出来ませんでした。", {
220
+ // icon: "error",
221
+ // });
222
+ // });
165
223
  },
166
224
  show() {
167
225
  this.$modal.show("edit");
@@ -175,60 +233,6 @@
175
233
  closeModal() {
176
234
  this.open = false;
177
235
  },
178
- onFileChange(e) {
179
- const image = e.target.files; //選択された画像ファイルを選択
180
- this.file = image[0]; //画像ファイルを1つだけ選択
181
-
182
- const S =
183
- "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
184
- const N = 16;
185
- this.uploadUrl = Array.from(crypto.getRandomValues(new Uint32Array(N)))
186
- .map((n) => S[n % S.length])
187
- .join("");
188
-
189
- let self = this;
190
- let fileReader = new FileReader();
191
- fileReader.onload = function() {
192
- self.preview = fileReader.result;
193
- };
194
- fileReader.readAsDataURL(this.file);
195
- },
196
- uploadImage() {
197
- const uploadTask = firebase
198
- .storage()
199
- .ref(this.uploadUrl) //さっき決めたパスを参照して、
200
- .put(this.file) //保存する
201
-
202
- uploadTask
203
- .then(() => {
204
- uploadTask.snapshot.ref.getDownloadURL().then((fileUrl)=>{
205
- const uploadedImage = {
206
- fileUrl: fileUrl,
207
- time: firebase.firestore.FieldValue.serverTimestamp(),
208
- };
209
- firebase
210
- .firestore()
211
- .collection("users") //保存する場所を参照して、
212
- .doc(this.$route.params.uid) //追加で保存setメソッドを使うと上書きされる
213
- .set(
214
- {
215
- name: this.name,
216
- sex: this.sex,
217
- age: this.age,
218
- access: this.access,
219
- selfpr: this.selfpr,
220
- profession: this.profession,
221
- genre: this.genre,
222
- favMovie: this.favMovie,
223
- uploadedImage: uploadedImage,
224
- time: firebase.firestore.FieldValue.serverTimestamp(),
225
- },
226
- { merge: true }
227
- );
228
- console.log(fileUrl);
229
- })
230
- });
231
- },
232
236
  },
233
237
  ```
234
238
 

6

内容修正

2021/05/29 14:10

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -236,4 +236,5 @@
236
236
 
237
237
  長期間回答が得られなかった為、以下サイトにも掲載させて頂いております。
238
238
 
239
- [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたいです。](https://qiita.com/TMTN/questions/5446a1dec75c3682dcbb)
239
+ [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたいです。](https://qiita.com/TMTN/questions/5446a1dec75c3682dcbb)
240
+ [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたい](https://ja.stackoverflow.com/questions/76127/vue-x-storage-%e3%83%97%e3%83%ad%e3%83%95%e3%82%a3%e3%83%bc%e3%83%ab%e7%94%bb%e5%83%8f%e3%82%92%e9%81%b8%e6%8a%9e%e5%be%8c-%e9%81%b8%e6%8a%9e%e3%81%97%e3%81%9f%e7%94%bb%e5%83%8f%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%81%9f%e3%81%84)

5

内容修正

2021/05/27 17:40

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
  「プロフィール画像を編集する」を押下してアップロードする画像を選択後、
4
4
  既存画像から(選択されていない場合デフォルト画像にしてます)選択された画像に切り替えたいです。
5
- しかし、現状は切り替わらず「更新ボタン」を押下して発火させた後、プロフィール画面での表示はきちんと表示されますが
5
+ しかし、現状は切り替わらず「更新ボタン」を押下して発火させた後、プロフィール画面での表示は
6
- 「更新ボタン」を押すまでは編集画面では選択画像が変わらない状態です・・
6
+ きちんと表示されますが「更新ボタン」を押すまでは編集画面では選択画像が変わらない状態です・・
7
7
 
8
8
  ![イメージ説明](866283e19959feeabc438afa93948923.png)
9
9
 

4

追記1追加

2021/05/27 10:22

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -230,4 +230,10 @@
230
230
  });
231
231
  },
232
232
  },
233
- ```
233
+ ```
234
+
235
+ #追記1
236
+
237
+ 長期間回答が得られなかった為、以下サイトにも掲載させて頂いております。
238
+
239
+ [【Vue x Storage】プロフィール画像を選択後、選択した画像を表示させたいです。](https://qiita.com/TMTN/questions/5446a1dec75c3682dcbb)

3

内容修正

2021/05/25 13:33

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -24,6 +24,7 @@
24
24
 
25
25
  よろしくお願い致します。
26
26
 
27
+ #実際のコード
27
28
 
28
29
  ```ここに言語を入力
29
30
         <div class="profile-inner flex">

2

内容訂正。

2021/05/25 13:19

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
@@ -1,12 +1,9 @@
1
- #プロフィール画像を選択後、選択した画像を表示させたいです。
1
+ #プロフィール画像を選択後、リアルタイムで選択した画像を表示させたいです。
2
2
 
3
- 下記コードより@change="onFileChange"にて画像を選択して、Storageに保存、
4
- 保存したデータを他で表示することはできているのですが
5
-
6
3
  「プロフィール画像を編集する」を押下してアップロードする画像を選択後、
7
4
  既存画像から(選択されていない場合デフォルト画像にしてます)選択された画像に切り替えたいです。
8
5
  しかし、現状は切り替わらず「更新ボタン」を押下して発火させた後、プロフィール画面での表示はきちんと表示されますが
9
- 「更新ボタン」を押すまでは編集画面では選択画像が変わらない状態です・・
6
+ 「更新ボタン」を押すまでは編集画面では選択画像が変わらない状態です・・
10
7
 
11
8
  ![イメージ説明](866283e19959feeabc438afa93948923.png)
12
9
 

1

タグ追加

2021/05/23 04:13

投稿

TMTN
TMTN

スコア53

title CHANGED
File without changes
body CHANGED
File without changes