<form class="am-form am-form-horizontal form-apply" :action="http_url" method="post"> <div class="am-form-group" v-for="field in field_info" :key="field.id"> <label class="am-u-sm-2 am-form-label" v-text="field.name"></label> <div class="am-u-sm-10" v-if="field.field_type === 'text'"> <input type="text" :name="field.id+'-fieldId'" :placeholder="field.tip" > </div> <div class="am-u-sm-10" v-else-if="field.field_type === 'select'"> <ElementSelect :name="field.id+'-fieldId'" :is_multiple="false" :options="field.workorderfieldschoices_field"></ElementSelect> </div> <div class="am-u-sm-10" v-else-if="field.field_type === 'checkbox'"> <ElementSelect :name="field.id+'-fieldId'" :is_multiple="true" :options="field.workorderfieldschoices_field"></ElementSelect> </div> <div class="am-form-group"> <div class="am-u-sm-9 am-u-sm-push-3"> <button type="submit" style="background: #36c6d3;border-color: #36c6d3;float: right;" data-applytype="0" class="am-btn am-btn-primary commit-class">提交</button> </div> </div> </form>
ElementSelect代码:
<el-select v-model="value10" :name="name" readonly="false" clearable multiple placeholder="请选择" v-if="is_multiple === true"> <el-option v-for="item in options_loc" :key="item.value" :label="item.label" :value="item.value" > </el-option> </el-select>
这时候点击form提交,发现后台通过name来获取post的值是空的,这时候就只能换一种思路了,添加一个隐藏的input来存储值(注意value10与el-select v-model的值是一样的,需要在data中定义):
<input style="display: none;" :name="name" :value="value10"> <el-select v-model="value10" readonly="false" clearable multiple placeholder="请选择" v-if="is_multiple === true"> <el-option v-for="item in options_loc" :key="item.value" :label="item.label" :value="item.value" > </el-option>