0

ボタンをクリックしたときに [ファイルの選択] ダイアログ ボックスを開こうとしていますthis.$refs.fileInput.click()。VUE では使用できますが、コンポジション API では機能しません。

参照用のコードは次のとおりです: https://codepen.io/imjatin/pen/zYvGpBq

脚本

    const { ref, computed, watch, onMounted, context } = vueCompositionApi;

    Vue.config.productionTip = false;
    Vue.use(vueCompositionApi.default);

    new Vue({
      setup(context) {    
        const fileInput = ref(null);
        const trigger = () => {
          fileInput.click()
        }; 

        // lifecycle
        onMounted(() => {     
        });
        // expose bindings on render context
        return {
          trigger,fileInput 
        };
      }
    }).$mount('#app');

テンプレート

    <div id="app">
      <div>
        <div @click="trigger" class="trigger">Click me</div>
      <input type="file" ref="fileInput"/>
        </div>
    </div>

ありがとうございました。

4

2 に答える 2