当前位置:   article > 正文

ant design vue 组件中经常会出现 label过长被盖住的情况_design vue 的from表单中label文本换行

design vue 的from表单中label文本换行

ant design vue 组件中经常会出现 label过长被盖住的情况,我还特地找了解决方法:当过长时让他换行显示,还写了一篇博客记录,今天同样是写代码,但并没有做特殊的设置,结果却出乎意料的正常,过长自动换行显示了!为什么?

虽然我不知道为什么,但是记录一下,方便以后参考

下图是今天写的代码和页面:

  1. <a-drawer :visible="visible" :title="title" @close="handleCancel" width="30%">
  2. <a-form
  3. :form="form"
  4. layout="vertical"
  5. hide-required-mark
  6. :label-col="{span: 6 }"
  7. :wrapper-col="{span: 18}"
  8. >
  9. <a-row :gutter="24">
  10. <a-col :span="22">
  11. <a-form-item :label="$t('m.equipment') + 'ID'">
  12. <a-input
  13. v-decorator="[
  14. 'deviceId',
  15. {
  16. rules: [{ required: false, message: $t('m.PleaseEnter') + $t('m.deviceId') }],
  17. },
  18. ]"
  19. :placeholder=" $t('m.PleaseEnter') + $t('m.deviceId')"
  20. />
  21. </a-form-item>
  22. </a-col>
  23. </a-row>
  24. <a-row :gutter="24">
  25. <a-col :span="22">
  26. <a-form-item :label="$t('m.UserName2')">
  27. <a-select
  28. v-decorator="[
  29. 'username',
  30. {
  31. rules: [{ required: false, message:$t('m.PleaseEnter')+ $t('m.UserName2') }],
  32. },
  33. ]"
  34. :placeholder="$t('m.PleaseEnter')+$t('m.UserName2')"
  35. >
  36. <a-select-option value="xiao">Xiaoxiao Fu</a-select-option>
  37. <a-select-option value="mao">Maomao Zhou</a-select-option>
  38. </a-select>
  39. </a-form-item>
  40. </a-col>
  41. </a-row>
  42. <a-row :gutter="24">
  43. <a-col :span="22">
  44. <a-form-item :label="$t('m.Interval')">
  45. <a-input
  46. v-decorator="[
  47. 'interval',
  48. {
  49. rules: [{ required: true, message: $t('m.PleaseEnter')+$t('m.Interval')}],
  50. },
  51. ]"
  52. style="width: 100%"
  53. :placeholder=" $t('m.PleaseEnter') + $t('m.Interval')"
  54. />
  55. </a-form-item>
  56. </a-col>
  57. </a-row>
  58. </a-form>
  59. <div
  60. :style="{
  61. position: 'absolute',
  62. right: 0,
  63. bottom: 0,
  64. width: '100%',
  65. borderTop: '1px solid #e9e9e9',
  66. padding: '10px 16px',
  67. background: '#fff',
  68. textAlign: 'right',
  69. zIndex: 1,
  70. }"
  71. >
  72. <a-button type="primary" @click="handleOk">{{$t('m.save')}}</a-button>
  73. </div>
  74. </a-drawer>


破案了破案了!

原因是设置了layout

 如果去掉layout,则又变回原来的问题,不会自动换行了!


总结一下:

不设置layout,label不会自动换行,且label中文字靠右对齐

设置layout="vertical",label会自动换行,label中文字靠左对齐

如果既需要换行,又需要文字靠右对齐,怎末办呢?

方法一:(不设置layout,添加换行)

参考我的另一篇文章:

(7条消息) ant desigen表单的label文字过长,怎么换行?_几个高兴的博客-CSDN博客

方法二:(设置layout="vertical",添加label靠右对齐)

  1. <a-form
  2. :form="form"
  3. layout="vertical"
  4. :label-col="{span: 6}"
  5. :wrapper-col="{span: 17,offset:1}"//如果label和wrapper挨得太近可以设置offset
  6. >
  1. <style scoped>
  2. /deep/ .ant-form-item-label {
  3. text-align: right;
  4. }
  5. </style>

 这样就完美解决了,如果想了解其他layout属性,可以参考官方文档,这一部分

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

闽ICP备14008679号