为啥我不能在不更改或保存更改的情况下关闭此模式?

Posted

技术标签:

【中文标题】为啥我不能在不更改或保存更改的情况下关闭此模式?【英文标题】:Why I can`t close this modal without changes or save changes?为什么我不能在不更改或保存更改的情况下关闭此模式? 【发布时间】:2022-01-20 15:23:34 【问题描述】:

我将任务作为道具传递,并在组件中创建一个变量来存储初始值。当我单击“关闭”按钮并在文本区域中输入值时,我不需要保存更改,但如果我单击“保存”按钮,则保存它们。这怎么能做到,否则对我没有任何用处

<template lang="pug">
    .modal-task(:style="display: showDetailsModal")
        .modal-task-details
            .task
                .name(v-show="show")
                    |Name: task.name
                .text(v-show="!show")
                    textarea(v-model='updatedTask.name')
                .status
                    |Status: task.status
                .deadline
                    |Deadline: task.time
                .description(v-show="show")
                  |description: task.description1
                .text(v-show="!show" @change="handleChange")
                    textarea(v-model='updatedTask.description1')
            button(class='add-task' v-on:click="show=!show" v-show="show") Edit
            button(class='add-task' v-on:click="show=!show" v-show="!show" @click="closeForm()") Close
            button(class='add-task' v-show="showSaveButton" @click="saveTask(task)") Save
    </template>
    
    <script lang="ts">
    import  defineComponent  from 'vue'
    import  emitter  from '../main'
    
    export default defineComponent(
      name: 'task-details-modal',
      props: ['showDetailsModal', 'task'],
      data () 
        return 
          show: true,
          showSaveButton: true,
          updatedTask: 
        
      ,
      methods: 
        closeForm () 
          emitter.emit('close')
          console.log(this.updatedTask)
        ,
        saveTask () 
          this.updatedTask = this.task
          emitter.emit('close')
        ,
        handleChange () 
          this.showSaveButton = true
        
      ,
      created () 
        this.updatedTask = JSON.parse(JSON.stringify(this.task))
      
    )
    </script>

【问题讨论】:

【参考方案1】:

要保存数据,您需要发出另一个事件,该事件将调用 saveMethod 函数,然后在操作成功时从 save 方法关闭对话框。

目前,您在保存和关闭操作上发出关闭事件,您需要将其分开。

【讨论】:

以上是关于为啥我不能在不更改或保存更改的情况下关闭此模式?的主要内容,如果未能解决你的问题,请参考以下文章

在不保存工作簿的情况下更改 Excel 中的默认另存为位置

为啥 Python 3.8.0 允许在不使用“非本地”变量的情况下从封闭函数范围更改可变类型?

如何在不关闭模式的情况下关闭从 modalViewController 推送的 viewController?

Jquery在不使用值的情况下选择更改

为啥 glDrawElments() 在不使用任何着色器的情况下工作?

PySide2:不能在不退出 APP 的情况下关闭 QMessageBox