【问题标题】:Submit form array with Vue to Laravel用 Vue 提交表单数组到 Laravel
【发布时间】:2017-07-10 23:39:33
【问题描述】:

在我开始使用 Vue 之前,我有一个简单的表单,可以一次更新 1 个列上的 1 个值 @ 1 个请求。现在我正在使用 Vue,我的表单有一个新的“中间”按钮,用于构建一个项目数组以提交 1 个请求以动态更新多个列。

现在的问题是启用了阻止默认设置,我的原始表单提交不再有效,我需要使用 Vue 提交请求,或者有没有办法重新启用按钮上的默认操作?这会很棒。

<form @submit.prevent="newbutton">

// new button
<button @click="newbutton"></button>

// original button
<button @click="submit" :id="{{ $element->id }}></button> // @submit.enableDefault ??

【问题讨论】:

    标签: forms laravel vuejs2 axios laravel-5.4


    【解决方案1】:

    prevent 只是@submit 上的一个辅助方法。为了允许这种差异,您需要将逻辑移动到您的 newbutton 方法中

    // in template remove prevent
    <form @submit="newbutton" action="/where-this-should-post">
    
    // in script move logic to your newbutton method
    methods {
      newbutton(event) {
        if (formNotValid) {
          event.preventDefault()
        }
      }
    }
    

    【讨论】:

    • 有趣!你如何测试formNotValid?感谢您的帮助!
    • 无需测试formNotValid,只需触发event.preventDefault();在中间按钮中取出@submit.prevent,它几乎可以按预期工作。现在的问题是将 vue 数据绑定到表单提交
    • 它可以是一个计算属性,也可以创建一个函数并调用它。它会查看表单中的所有数据,并确保可以将其发送出去。
    • 也不需要在水疗中心更容易在前端敲掉它
    • 好的,这听起来像是一个单独的问题,您没有使用 vm.set 设置数据([] 在 vue 中不是反应式的)。您应该首先通过使用 axios 发布类似字符串 'foo' 的内容来查看提交此内容是否适用于上述移动 event.preventDefault。如果数据到达那里,那么用新问题创建一个新问题,将来会帮助其他人。也总是最好添加一个带有示例的 jsfiddle。
    猜你喜欢
    • 2020-02-25
    • 2019-06-07
    • 2020-05-28
    • 2019-11-09
    • 2019-02-05
    • 2021-05-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多