ボタンをクリックしたときに [ファイルの選択] ダイアログ ボックスを開こうとしています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>
ありがとうございました。