当前位置:   article > 正文

elementUI中使用el-form-item时prop绑定多字段

el-form-item

严格来讲,使用el-form-item时,是无法使用prop绑定多个字段,但业务中的需求是各式各样的,总会遇到这种情况,那就要想办法去实现它,毕竟东西是死人,我们人,是活的,要活学活用。

先上个图看看:

 上图中省市区联动,还有经纬度,都是需要在同一行内,显示多个控件,并绑定多个字段的。

上代码:

  1. <el-form ref="itemForm" :model="itemForm" :rules="itemFormRules" label-width="100px" size="mini">
  2. <el-row>
  3. <el-col :span="24">
  4. <el-form-item label="仓库名称" prop="name">
  5. <el-input placeholder="请输入仓库名称" v-model="itemForm.name" clearable></el-input>
  6. </el-form-item>
  7. <el-form-item label="仓库地址" prop="addressDetail">
  8. <el-input placeholder="请输入仓库地址" v-model="itemForm.addressDetail" clearable></el-input>
  9. </el-form-item>
  10. <el-form-item label="所属地区" :required="true" :show-message="false">
  11. <el-row>
  12. <el-col :span="8">
  13. <el-form-item label-width="0" label="" prop="provinceCode" style="margin-bottom:0;">
  14. <el-select v-model="itemForm.provinceCode" clearable placeholder="请选择省份" @change="provinceChange">
  15. <el-option v-for="item in provinceList" :key="item.ID" :label="item.name" :value="item.code">
  16. </el-option>
  17. </el-select>
  18. </el-form-item>
  19. </el-col>
  20. <el-col :span="7" :offset="1">
  21. <el-form-item label-width="0" label="" prop="cityCode" style="margin-bottom:0;">
  22. <el-select v-model="itemForm.cityCode" clearable placeholder="请选择城市" @change="cityChange"
  23. :disabled="!itemForm.provinceCode">
  24. <el-option v-for="item in cityList" :key="item.ID" :label="item.name" :value="item.code">
  25. </el-option>
  26. </el-select>
  27. </el-form-item>
  28. </el-col>
  29. <el-col :span="7" :offset="1">
  30. <el-form-item label-width="0" label="" prop="districtCode" style="margin-bottom:0;">
  31. <el-select v-model="itemForm.districtCode" clearable placeholder="请选择街道/区"
  32. :disabled="!itemForm.cityCode">
  33. <el-option v-for="item in districtList" :key="item.ID" :label="item.name" :value="item.code">
  34. </el-option>
  35. </el-select>
  36. </el-form-item>
  37. </el-col>
  38. </el-row>
  39. </el-form-item>
  40. <el-form-item label="经纬度坐标" :required="true" :show-message="false">
  41. <el-row>
  42. <el-col :span="11">
  43. <el-form-item label-width="0" label="" prop="longitude" style="margin-bottom: 0;">
  44. <el-input placeholder="请输入经度" v-model="itemForm.longitude" clearable></el-input>
  45. </el-form-item>
  46. </el-col>
  47. <el-col :span="2" align="center">-</el-col>
  48. <el-col :span="11">
  49. <el-form-item label-width="0" label="" prop="latitude" style="margin-bottom: 0;">
  50. <el-input placeholder="请输入纬度" v-model="itemForm.latitude" clearable></el-input>
  51. </el-form-item>
  52. </el-col>
  53. </el-row>
  54. </el-form-item>
  55. </el-col>
  56. <el-col :span="24">
  57. <el-form-item label-width="0" align="center">
  58. <el-button size="medium" @click="dialogClose">取消</el-button>
  59. <el-button size="medium" type="primary" @click="formSubmit">提交</el-button>
  60. </el-form-item>
  61. </el-col>
  62. </el-row>
  63. </el-form>

看起来可能没有什么不同,但细节决定了关键,我是在el-form-item中嵌套了一个el-row分成多列,然后在每列中分别再放置一个el-form-item并且与字段绑定。

但如果只是这样做的话,label前面没有红色的星号,我看到很多人都是直接这样用的,但我比较执拗,查了一下elementUI文档,发现el-form-item标签有一个required属性,试了一下果然可以显示一个红色的星号,至此问题完美解决。

没什么技术含量,只是一些小技巧的组合而已,也只是今天才发现可以如此解决这个问题,在今天之前,其实我也是用其他方法凑合的,不过今天总算找到了正确的解决方案!!!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/112956?site
推荐阅读
相关标签
  

闽ICP备14008679号