回答編集履歴
3
codeSandboxのサンプルプロジェクトを作成
    
        answer	
    CHANGED
    
    | @@ -10,4 +10,14 @@ | |
| 10 10 | 
             
                    this.$refs.r.focus();
         | 
| 11 11 | 
             
                    this.$refs.r.setSelectionRange(select_len + 1, select_len + 1);
         | 
| 12 12 | 
             
                  });
         | 
| 13 | 
            -
            ```
         | 
| 13 | 
            +
            ```
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            #### 2019/08/15 追記
         | 
| 16 | 
            +
             | 
| 17 | 
            +
            以下にVueのプロジェクトを作って同じコードを試してみましたが、この環境だと `setSelectionRange`
         | 
| 18 | 
            +
            はうまく動いてくれるようです。(Vuetifyは使っていませんが)
         | 
| 19 | 
            +
             | 
| 20 | 
            +
            変更点は`select_len`をidではなく`$ref`を使って取って来るようにしたぐらいですね。
         | 
| 21 | 
            +
            後は、関係ないですが`var`を`const`にしたりとか・・・
         | 
| 22 | 
            +
             | 
| 23 | 
            +
            [https://codesandbox.io/s/vue-template-oszsy?fontsize=14](https://codesandbox.io/s/vue-template-oszsy?fontsize=14)
         | 
2
delete
    
        answer	
    CHANGED
    
    | @@ -10,13 +10,4 @@ | |
| 10 10 | 
             
                    this.$refs.r.focus();
         | 
| 11 11 | 
             
                    this.$refs.r.setSelectionRange(select_len + 1, select_len + 1);
         | 
| 12 12 | 
             
                  });
         | 
| 13 | 
            -
            ```
         | 
| 14 | 
            -
             | 
| 15 | 
            -
            また、`this.$nextTick()` は`Promise`を返すので、`await`を使って以下のように書けます。
         | 
| 16 | 
            -
            個人的にはこちらのほうが可読性が高くなるのでおすすめです
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            ```js
         | 
| 19 | 
            -
                  await this.$nextTick()
         | 
| 20 | 
            -
                  this.$refs.r.focus();
         | 
| 21 | 
            -
                  this.$refs.r.setSelectionRange(select_len + 1, select_len + 1);
         | 
| 22 13 | 
             
            ```
         | 
1
awaitバージョンを追加
    
        answer	
    CHANGED
    
    | @@ -10,4 +10,13 @@ | |
| 10 10 | 
             
                    this.$refs.r.focus();
         | 
| 11 11 | 
             
                    this.$refs.r.setSelectionRange(select_len + 1, select_len + 1);
         | 
| 12 12 | 
             
                  });
         | 
| 13 | 
            +
            ```
         | 
| 14 | 
            +
             | 
| 15 | 
            +
            また、`this.$nextTick()` は`Promise`を返すので、`await`を使って以下のように書けます。
         | 
| 16 | 
            +
            個人的にはこちらのほうが可読性が高くなるのでおすすめです
         | 
| 17 | 
            +
             | 
| 18 | 
            +
            ```js
         | 
| 19 | 
            +
                  await this.$nextTick()
         | 
| 20 | 
            +
                  this.$refs.r.focus();
         | 
| 21 | 
            +
                  this.$refs.r.setSelectionRange(select_len + 1, select_len + 1);
         | 
| 13 22 | 
             
            ```
         | 
