element-ui form表单中的form通过计算属性无法设置值

发布于 2022-09-13 00:50:49 字数 1784 浏览 17 评论 0

<template>
    <el-form ref="form" :model="form" label-width="80px">
        {{JSON.stringify(form)}}
        <el-form-item label="活动名称" prop="name"><el-input v-model="form.name"></el-input></el-form-item>
        <el-form-item label="活动形式" prop="desc"><el-input type="textarea" v-model="form.desc"></el-input></el-form-item>
        <el-form-item>
            <el-button type="primary" @click="onSubmit">立即创建</el-button>
            <el-button @click="resetForm('form')">重置</el-button>
        </el-form-item>
    </el-form>
</template>
<script>
export default {
    name: 'test-form',
    data() {
        return {
            items: [
                {
                    name: 'name',
                    value: ''
                },
                {
                    name: 'desc',
                    value: 'desc'
                }
            ],
            
        };
    },
    computed: {
        form:{
            set() {},
            get () {
                let form = {};
                for (let index in this.items) {
                    const key = this.items[index];
                    form = Object.assign({}, form, {
                        [key.name]: key.value
                    });
                }
                return form;
            }
        }
    },
    created() {
        
        setTimeout( () => {
            
            this.$set(this.form,'name','name')
            
        },3000)
    },
    
    methods: {
        onSubmit() {
            console.log('submit!');
        },
        resetForm(formName) {
            this.$refs[formName].resetFields();
        }
    }
};
</script>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文