由输入框、选择器、单选框、多选框等控件组成,用以收集、校验、提交数据
典型表单
包括各种表单项,比如输入框、选择器、开关、单选框、多选框等。
在 Form 组件中,每一个表单域由一个 Form-Item 组件构成,表单域中可以放置各种类型的表单控件,包括 Input、Select、Checkbox、Radio、Switch、DatePicker、TimePicker
1 <el-form ref="form" :model="form" label-width="80px"> 2 <el-form-item label="活动名称"> 3 <el-input v-model="form.name"></el-input> 4 </el-form-item> 5 <el-form-item label="活动区域"> 6 <el-select v-model="form.region" placeholder="请选择活动区域"> 7 <el-option label="区域一" value="shanghai"></el-option> 8 <el-option label="区域二" value="beijing"></el-option> 9 </el-select> 10 </el-form-item> 11 <el-form-item label="活动时间"> 12 <el-col :span="11"> 13 <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker> 14 </el-col> 15 <el-col class="line" :span="2">-</el-col> 16 <el-col :span="11"> 17 <el-time-picker type="fixed-time" placeholder="选择时间" v-model="form.date2" style="width: 100%;"></el-time-picker> 18 </el-col> 19 </el-form-item> 20 <el-form-item label="即时配送"> 21 <el-switch v-model="form.delivery"></el-switch> 22 </el-form-item> 23 <el-form-item label="活动性质"> 24 <el-checkbox-group v-model="form.type"> 25 <el-checkbox label="美食/餐厅线上活动" name="type"></el-checkbox> 26 <el-checkbox label="地推活动" name="type"></el-checkbox> 27 <el-checkbox label="线下主题活动" name="type"></el-checkbox> 28 <el-checkbox label="单纯品牌曝光" name="type"></el-checkbox> 29 </el-checkbox-group> 30 </el-form-item> 31 <el-form-item label="特殊资源"> 32 <el-radio-group v-model="form.resource"> 33 <el-radio label="线上品牌商赞助"></el-radio> 34 <el-radio label="线下场地免费"></el-radio> 35 </el-radio-group> 36 </el-form-item> 37 <el-form-item label="活动形式"> 38 <el-input type="textarea" v-model="form.desc"></el-input> 39 </el-form-item> 40 <el-form-item> 41 <el-button type="primary" @click="onSubmit">立即创建</el-button> 42 <el-button>取消</el-button> 43 </el-form-item> 44 </el-form> 45 <script> 46 export default { 47 data() { 48 return { 49 form: { 50 name: '', 51 region: '', 52 date1: '', 53 date2: '', 54 delivery: false, 55 type: [], 56 resource: '', 57 desc: '' 58 } 59 } 60 }, 61 methods: { 62 onSubmit() { 63 console.log('submit!'); 64 } 65 } 66 } 67 </script>