如题,vue3下打开弹窗时,没法修改v-model绑定的值
uni-popup-dialog的源码中 input的值是在组件触发created时赋值的 也就导致了input只会赋值一次 后面无法通过动态修改 你看下uni-popup-dialog源码就明白了
可以动态控制uni-popup-dialog的显示和隐藏 来触发组件内的created方法 然后让你修改的值显示出来
<template> <view class=""> <view> <button type="primary" @click="showPopup"><text>输入对话框</text></button> <uni-popup @change="popupChange" ref="inputDialog" type="dialog"> <uni-popup-dialog v-if="isShowDialog" mode="input" title="输入内容" v-model="text" placeholder="请输入内容"></uni-popup-dialog> </uni-popup> </view> </view> </template> <script setup> import { ref } from 'vue'; const inputDialog = ref() const isShowDialog = ref(false) const text = ref('111') const showPopup = () => { inputDialog.value.open() text.value = '222' } const popupChange = (val) => { isShowDialog.value = val.show } </script>