質問編集履歴

1

書式の改善

2021/06/20 09:16

投稿

tetsutetsu
tetsutetsu

スコア13

test CHANGED
File without changes
test CHANGED
@@ -2,51 +2,25 @@
2
2
 
3
3
  user avatar画像を作成中にerrorが発生。
4
4
 
5
- ドを変更したら良くなったのですが、コピペをしたこともあり、なぜ良くなったなのか理解がうまくできません
5
+ 質問テンプレ
6
6
 
7
+ - 解決したいこと
8
+
9
+ エラーメッセージは解決したのですが、コピペをしただけで理解ができていないのでしっかり理解したい
10
+
7
- わかる方いましたら説お願いします
11
+ エラー決前と解決後のコードを載せます
12
+
13
+ computedの記述がほとんどわからないです
14
+
15
+ value
16
+
17
+ - エラーメッセージ
18
+
19
+ Invalid prop: custom validator check failed for prop "value".
8
20
 
9
21
 
10
22
 
11
-
12
-
13
- editAvatar.vue
23
+ - ソースコード
14
-
15
-
16
-
17
- <template>
18
-
19
- <v-form ref="form" lazy-validation class="mb-6">
20
-
21
- <v-row class="pt-4 pl-3">
22
-
23
- <v-icon>mdi-account-box</v-icon>
24
-
25
- <span>ユーザー画像</span>
26
-
27
- </v-row>
28
-
29
- <v-row justify="center" class="pt-6">
30
-
31
- <v-avatar size="100">
32
-
33
- <template v-if="defaultImg !== null">
34
-
35
- <v-img v-if="input_image !== null" :src="input_image" />
36
-
37
- <v-img v-else :src="defaultImg" />
38
-
39
- </template>
40
-
41
- <template v-else>
42
-
43
- <v-img v-if="input_image" :src="input_image" />
44
-
45
- </template>
46
-
47
- </v-avatar>
48
-
49
- <v-col cols="12">
50
24
 
51
25
  <v-file-input
52
26
 
@@ -63,22 +37,6 @@
63
37
  @change="setImage"
64
38
 
65
39
  />
66
-
67
- <v-btn block color="success" class="white--text" @click="changeUserAvatar">
68
-
69
- 変更
70
-
71
- </v-btn>
72
-
73
- </v-col>
74
-
75
- </v-row>
76
-
77
- </v-form>
78
-
79
- </template>
80
-
81
-
82
40
 
83
41
  <script>
84
42
 
@@ -98,83 +56,41 @@
98
56
 
99
57
  },
100
58
 
101
- methods: {
59
+ methods: {
102
60
 
103
- setImage(file) {
61
+ setImage(file) {
104
62
 
105
- this.editImage = file
63
+ this.editImage = file
106
64
 
107
- if (file !== undefined && file !== null) {
65
+ if (file !== undefined && file !== null) {
108
66
 
109
- if (file.name.lastIndexOf(".") <= 0) {
67
+ if (file.name.lastIndexOf(".") <= 0) {
110
68
 
111
- return
69
+ return
112
-
113
- }
114
-
115
- const fr = new FileReader()
116
-
117
- fr.readAsDataURL(file)
118
-
119
- fr.addEventListener("load", () => {
120
-
121
- this.input_image = fr.result
122
-
123
- })
124
-
125
- } else {
126
-
127
- this.input_image = null
128
70
 
129
71
  }
130
72
 
131
- },
73
+ const fr = new FileReader()
132
74
 
133
- }
75
+ fr.readAsDataURL(file)
134
76
 
135
- }
77
+ fr.addEventListener("load", () => {
136
78
 
79
+ this.input_image = fr.result
80
+
81
+ })
82
+
83
+ } else {
84
+
137
- </script>
85
+ this.input_image = null
86
+
87
+ }
88
+
89
+ },
138
90
 
139
91
 
140
92
 
141
-
142
-
143
-
144
-
145
- <template>
146
-
147
- <v-form ref="form" lazy-validation class="mb-6">
148
-
149
- <v-row class="pt-4 pl-3">
150
-
151
- <v-icon>mdi-account-box</v-icon>
152
-
153
- <span>ユーザー画像</span>
154
-
155
- </v-row>
93
+ - 試したこと
156
-
157
- <v-row justify="center" class="pt-6">
158
-
159
- <v-avatar size="100">
160
-
161
- <template v-if="defaultImg !== null">
162
-
163
- <v-img v-if="input_image !== null" :src="input_image" />
164
-
165
- <v-img v-else :src="defaultImg" />
166
-
167
- </template>
168
-
169
- <template v-else>
170
-
171
- <v-img v-if="input_image" :src="input_image" />
172
-
173
- </template>
174
-
175
- </v-avatar>
176
-
177
- <v-col cols="12">
178
94
 
179
95
  <v-file-input
180
96
 
@@ -191,22 +107,6 @@
191
107
  @change="setImage"
192
108
 
193
109
  />
194
-
195
- <v-btn block color="success" class="white--text" @click="changeUserAvatar">
196
-
197
- 変更
198
-
199
- </v-btn>
200
-
201
- </v-col>
202
-
203
- </v-row>
204
-
205
- </v-form>
206
-
207
- </template>
208
-
209
-
210
110
 
211
111
  <script>
212
112
 
@@ -283,31 +183,3 @@
283
183
  }
284
184
 
285
185
  },
286
-
287
- async changeUserAvatar() {
288
-
289
- const formData = new FormData()
290
-
291
- if (this.editImage != "") {
292
-
293
- formData.append("image", this.editImage)
294
-
295
- }
296
-
297
- await this.$axios
298
-
299
- .put("api/v1/auth", formData, {
300
-
301
- headers: {
302
-
303
- "Content-Type": "multipart/form-data",
304
-
305
- },
306
-
307
- })
308
-
309
- }
310
-
311
- }
312
-
313
- </script>