<template>
<div>
this is voteResult
<div v-for="(item, index) in list" style="width:500px">
<el-form label-position="top" label-width="80px" >
<el-form-item :label="item.title">
<el-input v-if="item.cate == 'text'" v-model="result[index].data"></el-input>
<el-radio v-else-if="item.cate == 'radio'" class="radio" v-model="result[index].data" v-for="option in item.options" :label="option"></el-radio>
<el-checkbox-group v-else-if="item.cate == 'checkbox'" v-model="result[index].data">
<el-checkbox v-for="option in item.options" :label="option"></el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
</div>
<el-button type="primary" @click="onSubmit">立即创建</el-button>
</div>
</template>
<script>
export default {
data() {
return {
list: [
{
"id": 1,
"cate": "checkbox",
"title": "This is checkbox",
"options": [
"opt1",
"opt2",
"opt3"
]
},{
"id": 2,
"cate": "radio",
"title": "This is radio",
"options": [
"东邪",
"西毒",
"南帝",
"北丐"
],
"required": true
},{
"id": 3,
"cate": "text",
"title": "This is text",
"required": true
},{
"id": 4,
"cate": "text",
"title": "This is text",
"required": true
},{
"id": 5,
"cate": "checkbox",
"title": "哪个嘉宾",
"options": [
"东邪",
"西毒",
"南帝",
"北丐"
]
}
],
result: [
]
}
},
mounted() {
this.$nextTick(() => {
let tmpResult = this.list.map((value, index) => {
let data
switch (value.cate) {
case 'text':
data = ''
break
case 'radio':
data = ''
break
case 'checkbox':
data = []
break
}
return {
"id": value.id,
"data": data
}
})
this.result = tmpResult
console.log(tmpResult)
})
},
methods: {
onSubmit: function(){
console.log(this.result)
}
}
}
</script>
无标题文章
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。