vue配置多个form表单

问题:例如有很多form表单的话一个一个写尤为麻烦,所以想简写
在这里插入图片描述
解决:

 <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
            <template v-for="item in formItems">
                 <el-form-item v-if="item.type==='input'" :label="item.label" :prop="item.prop">
                    <el-input v-model="ruleForm[item.prop]"></el-input>
                </el-form-item>
                <el-form-item  v-else-if="item.type==='select'" :label="item.label" :prop="item.prop">
                    <el-select v-model="ruleForm[item.prop]" :placeholder="item.label">
                        <el-option
                        v-for="itemOption in selectOptions[item.options]"
                        :key="itemOption.value"
                        :label="itemOption.label"
                        :value="itemOption.value">
                        </el-option>
                    </el-select>
                </el-form-item>
            </template>
           
            </el-form>
  data () {
        return {
            selectOptions:{
                areaOptions:[]
            },
            ruleForm:{
                name:'',
                region:''
            },
            selectOptions:[],
            formItems:[
                {
                    label: '活动名称',
                    type: 'input',
                    value:'name'
                },{
                    label: '活动区域',
                    type: 'select',
                    value:'name',
                    options:'areaOptions'
                }
            ],
            rules: {}
        }
    },
    
    methods: {
    // type your function
    getOptions(){
        this.selectOptions.areaOptions = [{
            lavel: '选项一',
            value:'选项一'
        }]
    }
    },
    mounted () {
        this.getOptions()
    },

开始遇到的问题是,select框下拉选择项一般都是异步请求所得,如果把select的options配置为空数组,塞值的话并不方便,后来想了把options配置为对象属性值稍微简便一点,若果后期再有好的方案再做调整。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值