Javascript Vue.JS:打开对话框后如何调用函数?
我正在编写Vuejs。当我使用函数打开对话框时,对话框包含ID为:content\u description的文本区域Javascript Vue.JS:打开对话框后如何调用函数?,javascript,vue.js,Javascript,Vue.js,我正在编写Vuejs。当我使用函数打开对话框时,对话框包含ID为:content\u description的文本区域 <v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition"> <v-card> <v-toolbar dark col
<v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition">
<v-card>
<v-toolbar dark color="green darken-4">
<v-btn icon dark @click="editCanvasFlag = false">
<v-icon>mdi-close</v-icon>
</v-btn>
<v-toolbar-title>Chỉnh sửa <v-chip color="green">{{ selectedCanvas !=null? selectedCanvas.name : '' }}</v-chip></v-toolbar-title>
<v-spacer></v-spacer>
<v-btn color="success"><v-icon left>mdi-content-save</v-icon>Update</v-btn>
</v-toolbar>
<div class="pa-12 pt-4 d-flex">
<v-form ref="form" class="register-form" style="width:90%">
<v-container class="pa-0">
<h5>Description:</h5>
<!-- <sun-ed id="content_description"></sun-ed> -->
<textarea v-model="content_description" id="content_description"></textarea>
</v-container>
</v-form>
</div>
</v-card>
但it错误:v-on处理程序中的错误:“错误:[SUNEDITOR.create.fail]找不到该id的元素(id:“content\u description”)”
当对话框打开时,我调用函数create this SunEditor就可以了
我想在对话框打开后加载此函数创建此SunEditor。有人能帮我吗。多谢各位 您可以使用
输入
事件,该事件由v-dialog
触发,只要边界模型得到更新,这意味着一旦您打开和关闭对话框,它就会被触发
<v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition" @input="dialogToggle">
.....
</v-dailog>
<script>
methods: {
dialogToggle(dialogState) {
if (dialogState) { // only when dialog get open
// At this point you dialog state should have opened Now you can call your function
// But to be sure you can check for DOM update
this.$nextTick(() => {
// Call your method, as it's completely gurantees if the DOM get updated
})
}
}
}
</script>
.....
方法:{
dialogToggle(dialogState){
if(dialogState){//仅当对话框打开时
//此时对话框状态应该已经打开,现在可以调用函数了
//但为了确保您可以检查DOM更新
这个.$nextTick(()=>{
//调用您的方法,因为如果DOM得到更新,这是完全可以保证的
})
}
}
}
我建议您尝试不使用
nextTick
回调,如果您无法找到您的模式,则使用nextTick您可以使用input
事件,该事件由v-dialog
触发,只要有界模型得到更新,这意味着一旦打开和关闭对话框,它就会被触发
<v-dialog ref="dlgedit" v-model="editCanvasFlag" id="test" hide-overlay transition="scale-transition" @input="dialogToggle">
.....
</v-dailog>
<script>
methods: {
dialogToggle(dialogState) {
if (dialogState) { // only when dialog get open
// At this point you dialog state should have opened Now you can call your function
// But to be sure you can check for DOM update
this.$nextTick(() => {
// Call your method, as it's completely gurantees if the DOM get updated
})
}
}
}
</script>
.....
方法:{
dialogToggle(dialogState){
if(dialogState){//仅当对话框打开时
//此时对话框状态应该已经打开,现在可以调用函数了
//但为了确保您可以检查DOM更新
这个.$nextTick(()=>{
//调用您的方法,因为如果DOM得到更新,这是完全可以保证的
})
}
}
}
我建议您尝试不使用nextTick
回调,如果您无法找到您的模式,请使用nextTick