Form 模块

上传

附件上传 - 图1

upload-afterupload-before方法来拦截请求的,返回数据和 done 方法,其中 propsHttp 配置图片服务器返回的url图片地址和name图片名称属性,props配置回显的label图片名称和value图片地址。可以根据 dataType 设置是array还是json

  1. <avue-form
  2. v-model="form"
  3. :option="option"
  4. @submit="submit"
  5. :upload-before="uploadBefore"
  6. :upload-after="uploadAfter"
  7. ></avue-form>
  8. <script>
  9. export default {
  10. data() {
  11. return {
  12. form: {
  13. img: [
  14. 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=1',
  15. 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=2'
  16. ],
  17. string:
  18. 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=1,https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=2',
  19. imgUrl: [
  20. {
  21. label: '图片名称',
  22. value:
  23. 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=1'
  24. },
  25. {
  26. label: '图片名称',
  27. value:
  28. 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=2'
  29. }
  30. ],
  31. imgUrl3:
  32. 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?a=3'
  33. },
  34. option: {
  35. labelWidth: 120,
  36. column: [
  37. {
  38. label: '附件上传',
  39. prop: 'imgUrl',
  40. type: 'upload',
  41. loadText: '附件上传中,请稍等',
  42. span: 24,
  43. propsHttp: {
  44. name: 'label',
  45. url: 'value'
  46. },
  47. props: {
  48. label: 'label',
  49. value: 'value'
  50. },
  51. tip: '只能上传jpg/png文件,且不超过500kb',
  52. action: 'https://jsonplaceholder.typicode.com/posts/'
  53. },
  54. {
  55. label: '用户头像',
  56. prop: 'imgUrl3',
  57. type: 'upload',
  58. showFileList: false,
  59. listType: 'picture-img',
  60. span: 24,
  61. tip: '只能上传jpg/png用户头像,且不超过500kb',
  62. action: 'https://jsonplaceholder.typicode.com/posts/'
  63. },
  64. {
  65. label: '照片墙',
  66. prop: 'imgUrl',
  67. type: 'upload',
  68. span: 24,
  69. listType: 'picture-card',
  70. tip: '只能上传jpg/png文件,且不超过500kb',
  71. action: 'https://jsonplaceholder.typicode.com/posts/'
  72. },
  73. {
  74. label: '数组图片组',
  75. prop: 'img',
  76. dataType: 'array',
  77. type: 'upload',
  78. span: 24,
  79. listType: 'picture-card',
  80. tip: '只能上传jpg/png文件,且不超过500kb',
  81. action: 'https://jsonplaceholder.typicode.com/posts/'
  82. },
  83. {
  84. label: '字符串图片组',
  85. prop: 'string',
  86. dataType: 'string',
  87. type: 'upload',
  88. span: 24,
  89. listType: 'picture-card',
  90. tip: '只能上传jpg/png文件,且不超过500kb',
  91. action: 'https://jsonplaceholder.typicode.com/posts/'
  92. },
  93. {
  94. label: '拖拽上传',
  95. prop: 'imgUrl',
  96. type: 'upload',
  97. span: 24,
  98. drag: true,
  99. tip: '只能上传jpg/png文件,且不超过500kb',
  100. action: 'https://jsonplaceholder.typicode.com/posts/'
  101. },
  102. {
  103. label: '缩略图上传',
  104. prop: 'imgUrl',
  105. type: 'upload',
  106. limit: 3,
  107. span: 24,
  108. listType: 'picture',
  109. tip: '只能上传jpg/png文件,且不超过500kb',
  110. action: 'https://jsonplaceholder.typicode.com/posts/' //上传图片地址
  111. }
  112. ]
  113. }
  114. }
  115. },
  116. methods: {
  117. uploadBefore(file, done, loading) {
  118. console.log(file)
  119. done()
  120. this.$message.success('上传前的方法')
  121. },
  122. uploadAfter(res, done, loading) {
  123. console.log(res)
  124. done()
  125. this.$message.success('上传后的方法')
  126. },
  127. submit() {
  128. this.$message.success('当前数据' + JSON.stringify(this.form))
  129. }
  130. }
  131. }
  132. </script>

附件上传讲解

Avue-upload Option Attributes

参数说明类型可选值默认值
propsHttp上传后返 ajax 回名称和路径的配置属性,详情见下面 propsHttp 属性Object--
props回显的名称和路径配置属性,详情见下面 props 属性Object--
dataType图片格式的类型,默认为 jsonStringarray / json / stringjson
listType上传框的类型Stringpicture-img / picture-card / picture / filefile
action上传图片的地址String--
tip上传控件的提示语String-文件上传中,请稍等
limit最大上传个数Number-3
showFileList文件列表(当为 picture-img 和 picture-card 时默认为 false)Booleanfalse / truetrue
loadText上传提示语String--

Avue-upload props Attributes

参数说明类型可选值默认值
label回显图片的名称string
value图片的地址string

Avue-upload propsHttp Attributes

参数说明类型可选值默认值
name回显图片的名称string
url图片的地址string

Avue-upload Events

事件名说明参数
upload-before上传前的回调file,done(继续下面的操作),loading(关闭等待框,终止下面的操作)
upload-after上传后的回调res,done(继续下面的操作),loading(关闭等待框,终止下面的操作)