【vue】element form/input/select 组件 赋值后无法编辑的问题

今天在使用element form组件时,想创建一个修改的dialog ,赋上当前值再修改传后台
开始代码如下

HTML部分:

 <el-dialog :visible.sync="updateDialogVisible" title="编辑任务" width="50%">
      <el-form :model="updateForm" ref="updateForm">
        <el-row>
          <el-form-item label="请输入任务名称:">
            <el-col :span="9">
              <el-input v-model="updateForm.name"></el-input>
            </el-col>
          </el-form-item>
          <el-form-item label="请选择所属用户:">
            <el-select v-model="updateForm.user" multiple placeholder="请选择">
              <el-option v-for="user in users" :key="user.id" :label="user.realname" :value="user.id">
              </el-option>
            </el-select>
          </el-form-item>
          <el-form-item>
            <el-button @click="dialogVisible = false">取 消</el-button>
            <el-button type="primary" @click="update">确 定</el-button>
          </el-form-item>
        </el-row>
      </el-form>
    </el-dialog>

js部分:

updateTask(){
        this.updateDialogVisible =true
        console.log(this.task)
        console.log(this.updateForm)
        this.updateForm.name = this.task.name
        this.updateForm.user = this.task.user

    },

结果发现在dialog创建以后再给表单赋值以后,表单的值就一直无法修改,
https://blog.csdn.net/weixin_45167030/article/details/106962523
参考本文想使用延时的方法结果并不起效

updateTask(){
        this.updateDialogVisible =true
        console.log(this.task)
        console.log(this.updateForm)
        setTimeout(() => {this.updateForm.name = this.task.name
        this.updateForm.user = this.task.user},10)

    },

最后发现是因为没有给表单赋初始值,初始值应该一直存在

 data() {
    return {
      updateForm:{
          name:'',
          user:[]
      },
      users:[],
      updateDialogVisible: false
    };
  },

这样就可以生效了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值