动态添加了个功能实现不了数据的请求和回显

 <div v-for="(item, index) in dataForm.dynamicItem" :key="index">

                <el-row>

                  <el-col>

                     <el-button type="text" style="width:85px;" :disabled="!isModify" @click="deleteItem(item, index)">删除特性</el-button>

                          <el-row>

                          <el-col span="8">

                            <el-form-item label="特性" :prop="'dynamicItem.' + index + 'featureNum'">

                              <el-input size="mini" :disabled="!isModify" v-model="dataForm.featureNum" placeholder="特征" clearable style="width:140px;">

                              </el-input>

                            </el-form-item>

                          </el-col>

                          <el-col span="8">

                            <el-form-item label="特性内容" :prop="'dynamicItem.' + index + 'featureContent'">

                              <el-input size="mini" type="textarea" :disabled="!isModify"

                                        autosize v-model="dataForm.featureContent" placeholder="特征内容" clearable >

                                        </el-input>

                            </el-form-item>

                          </el-col>

                        </el-row>

                   </el-col>

                  </el-row>

                </div>

  1.                 <el-button type="text" style="width:85px;" :disabled="!isModify" @click="addItem">添加特性</el-button>
  2.    dynamicItem: []

  addItem () {

       

        this.dataForm.dynamicItem.push({

         featureContent: '',

          featureNum: ''

  1.         })

   deleteItem (item, index) {

  1.         this.dataForm.dynamicItem.splice(index,1)
  2. 上面代码写的可以实现在弹出框上实现添加删除,保持完了,一刷新在打开就没有了。
  3. 之前是特性是死的不能动态添加的,改的时候加了个表,现在数据保存不了。请求自己写了好多还是不行。

因为你这个是保存在内存里的,肯定一刷新就没有了

要用ajax把数据提交到服务器保存

我是用axios把数据提交的,现在就是出现添加提交到了数据库也有数据,删除不行,保存完也还是不行


现在问题就是出在怎么提交成功和数据回显的问题上了


  addItem (id) {

        this.$nextTick(() => {

          this.$refs.addItem.init(id)

        })

        this.dataForm.dynamicItem.push({

         featureContent: '',

          featureNum: ''

        })

        //数据存储 

              this.$http({

              url: this.$http.adornUrl(`/inspection/devicefeature/${!this.dataForm.id ? 'save' : 'update'}`),

              method: 'post',

              data: this.$http.adornData({

                'id': this.dataForm.id || undefined,

                'deviceId': this.dataForm.deviceId,

                'featureNum': this.dataForm.featureNum,

                'featureContent': this.dataForm.featureContent

              })

            }) 

      },

提交请求现在能提交到数据库,删除不了

 deleteItem (item, index) {

        this.dataForm.dynamicItem.splice(index,1)

        //数据删除

         this.$http({

          url: this.$http.adornUrl('/inspection/devicefeature/delete'),

          method: 'psot',

          params: this.$http.adornParams({


           'device_id':this.dataForm.deviceId,

           'featureContent':this.dataForm.featureContent,

           'featureNum':this.dataForm.featureNum

          })

        }).then(({data}) => {

          if(data.status === 'ok'){

              this.$message({message:'删除成功',type:success})

          }

        })

      },

,删除不了 到底是什么意思???


正确的业务逻辑应该是 添加和删除 都先发请求给服务器

等服务器返回操作成功之后

再修改前端的界面。

然后再调用  this.dataForm.dynamicItem.push和 this.dataForm.dynamicItem.splice 就行。

添加成功到了数据库,删除不了数据库添加的

  1. 我看您的代码 methods 的 post 写错了;不知道这个有没有影响;2. 在network里面查看params的值有吗?

我看一下谢谢

请求到不了后端


有没有提示什么错误信息

你用postman看一下能不能发得通

你删除的方法中,传递的参数可能有问题'device_id':this.dataForm.deviceId,我看你添加的方法中是'deviceId': this.dataForm.deviceId,

然后你在后台接收的时候,通过对象接收参数,导致映射不到对应的接口

通不了,那我应该怎么写这个请求呀

 this.dataForm.id,this.dataForm.deviceId dataForm这个对象里面是包含两个id?添加删除查询的唯一值不是一致的?

不是参数写错的问题吗,方便的话,加一下我 1571488201.我帮你看下代码

好的

删除不了 看后端代码啊。。

除了楼上说的俩id参数名不一样


还有 你更新的时候用到了下面的参数

'id': this.dataForm.id || undefined,


但是删除的时候 没有这个参数


我觉得删除也应该是根据这个参数删除吧。

删除的参数加上 'id': this.dataForm.id || undefined,

再看看

后端代码没有问题。早就查的不带查了

私聊,2829621014可以就加一下,帮你调试一下

前端传错参数 或者没有传什么参数 丢了参数 后端该报错的

不报错 就算是后端代码的问题

可以

后端代码别的页面同样的接口没有问题


加你了


采纳的话 远程我 给你调试


https://www.cnblogs.com/dlight/p/biwen.html

那给远程先看看呗,怎么加你,最近这两天后台系统出了点问题,刚刚处理好


一个删除操作,应该是给后台一个id就可以实现的,如果你数据传过去了 删除没有成功,就是后端那边的问题,不是前台问题,前台要做的只能是拿到参数然后给后台,后台返回是否成功之后重新刷新页面或者局部更新一下

能给远程看看嘛,我传过id不行


我这回家还要很久呢

啊,那我在想想办法

后端不能调试看看吗?

后端拿别的页面正常 当理由

这个问题就没法解决 了。。。

就算是前端传错参数了 或者丢了参数 那也得是后端告诉前端到底是哪个参数错了 。。


后端都不知道调试了多少次了。不知道就不要说好吗,来是解决问题的

算了 不说了 祝你好运吧。

谢谢