写在前边,组件要求是这样子,选中项目时,展示项目的详细内容(以input展示),并在后续表单点击提交时传递项目 id值。
<el-form-item label="项目名称" prop="id">
<el-select v-model="form.id" filterable clearable placeholder="请选择项目" @change="selectChange">
<el-option
v-for="item in options"
:key="item.id"
:label="item.projectName"
:value="item.id"
>
</el-option>
</el-select>
</el-form-item>
<div style="display: inline" v-show="showOpen">
<el-form-item label="申报单位" prop="declareCompany">
<el-input disabled v-model="pro.declareCompany" placeholder="请输入申报单位" />
</el-form-item>
<el-form-item label="申报日期" prop="declareDate">
<el-input disabled v-model="pro.declareDate" placeholder="请输入申报日期" />
</el-form-item>
<el-form-item label="审批人" prop="approver">
<el-input disabled v-model="pro.approver" placeholder="请输入审批人" />
</el-form-item>
<el-form-item label="审批日期" prop="deviceName">
<el-input disabled v-model="pro.declareDate" placeholder="请输入审批日期" />
</el-form-item>
<el-form-item label="项目内容" prop="deviceName">
<el-input disabled v-model="pro.projectContent" placeholder="请输入项目内容" />
</el-form-item>
<el-form-item label="" prop="deviceName">
<el-checkbox v-model="checked">设备到齐</el-checkbox>
</el-form-item>
</div>
获取选中项目下标,利用Select Events change() 返回选中的值, findIndex()返回选中的值的下标。
selectChange(value){
let proNum = this.options.findIndex((item, index) =>{
return item.id == value
})
this.pro.declareCompany = this.options[proNum].declareCompany
this.pro.declareDate = this.options[proNum].declareDate
this.pro.approver = this.options[proNum].approver
this.pro.projectContent = this.options[proNum].projectContent
}