解决ElementUI表单中下拉框的值在关闭对话框时v-model绑定的值会被清空的情况

在关闭Vue.js的el-dialog对话框时,文章描述了如何将form.role的值保存到savedRole变量中。当再次打开对话框,savedRole的值会被赋给form.role,确保角色选择状态的持久化。这种方法涉及数据模型绑定、事件处理及数组操作。
摘要由CSDN通过智能技术生成

在关闭对话框的时候手动将form.role的值保存到一个变量中,下次打开对话框时将这个变量的值赋给form.role即可

<el-dialog :visible.sync="dialogVisible" @close="handleClose">
  <el-form :model="form" :rules="rules">
    <el-form-item label="角色分配" prop="role">
      <el-select v-model="form.role" multiple placeholder="请选择角色">
        <el-option v-for="item in options" :key="item.id" :label="item.role_name" :value="item.id">
        </el-option>
      </el-select>
    </el-form-item>
  </el-form>
</el-dialog>
 <script>
export default {
  data() {
    return {
      dialogVisible: false,
      form: {
        role: [],
      },
      savedRole: [], // 保存下拉框的值
      options: [],
      rules: {},
    };
  },
  methods: {
    handleClose() {
      // 关闭对话框时保存下拉框的值
      this.savedRole = this.form.role.slice();
    },
    handleOpen() {
      // 打开对话框时将保存的值赋给下拉框
      this.form.role = this.savedRole.slice();
    },
  },
};
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值