@@ -191,7 +191,7 @@ export default {
191
191
watch: {
192
192
loadingMessages (val ) {
193
193
if (val) this .infiniteState = null
194
- else this .$refs [ ' roomTextarea ' ]. focus ()
194
+ else this .focusTextarea ()
195
195
},
196
196
room () {
197
197
this .loadingMessages = true
@@ -235,13 +235,19 @@ export default {
235
235
236
236
methods: {
237
237
resetMessage () {
238
- this .$refs [ ' roomTextarea ' ]. style . height = ' 38px '
238
+ this .resetTextareaSize ()
239
239
this .message = ' '
240
240
this .editedMessage = {}
241
241
this .file = null
242
242
this .imageFile = null
243
243
this .emojiOpened = false
244
244
},
245
+ resetTextareaSize () {
246
+ this .$refs [' roomTextarea' ].style .height = ' 38px'
247
+ },
248
+ focusTextarea () {
249
+ this .$refs [' roomTextarea' ].focus ()
250
+ },
245
251
isMessageEmpty () {
246
252
return ! this .file && ! this .message .trim ()
247
253
},
@@ -271,7 +277,7 @@ export default {
271
277
},
272
278
editMessage (message ) {
273
279
this .resetFile ()
274
- this .$refs [ ' roomTextarea ' ]. focus ()
280
+ this .focusTextarea ()
275
281
this .editedMessage = { ... message }
276
282
this .file = message .file
277
283
if (this .isImageCheck (this .file )) this .imageFile = message .file .url
@@ -291,7 +297,7 @@ export default {
291
297
},
292
298
addEmoji (emoji ) {
293
299
this .message += emoji
294
- this .$refs [ ' roomTextarea ' ]. focus ()
300
+ this .focusTextarea ()
295
301
},
296
302
launchFilePicker () {
297
303
this .$refs .file .value = ' '
@@ -317,12 +323,15 @@ export default {
317
323
this .imageFile = null
318
324
this .editedMessage .file = null
319
325
this .file = null
326
+ this .focusTextarea ()
320
327
},
321
328
resetFile () {
322
329
this .message = ' '
323
330
this .imageFile = null
324
331
this .editedMessage .file = null
325
332
this .file = null
333
+ this .resetTextareaSize ()
334
+ setTimeout (() => this .focusTextarea (), 0 )
326
335
},
327
336
isImageCheck (file ) {
328
337
if (! file) return
0 commit comments