index.wxml 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. <view class="form">
  2. <!-- 自定义 -->
  3. <van-cell-group>
  4. <!-- 地址 -->
  5. <block wx:for="{{formData}}" wx:key="index">
  6. <van-field wx:if="{{item.type=='address'}}" required="{{item.require}}" readonly label-class="label"
  7. label="{{item.label}}" value="{{item.value }}" error-message="{{item.err ? item.errmsg : ''}}" use-button-slot>
  8. <van-button bindtap="choose" data-index="{{index}}" slot="button" size="small">
  9. 选择
  10. </van-button>
  11. </van-field>
  12. <!--多列选择器 -->
  13. <van-field wx:if="{{item.type=='picker'}}" required="{{item.require}}" readonly label-class="label"
  14. label="{{item.label}}" value="{{item.value }}" error-message="{{item.err ? item.errmsg : ''}}" use-button-slot>
  15. <van-button bindtap="pickerchoose" data-index="{{index}}" slot="button" size="small">
  16. 选择
  17. </van-button>
  18. </van-field>
  19. <!-- 单选 -->
  20. <van-field input-class="disinput" wx:elif="{{item.type=='radio'}}" readonly label-class="label"
  21. label="{{item.label}}" use-button-slot>
  22. <van-radio-group slot="button" value="{{ item.value }}" bind:change="onChangeradio" data-index="{{index}}">
  23. <view class="flex">
  24. <view class="radio" wx:for="{{item.arr}}" wx:for-item="it" wx:for-index="in" wx:key="in">
  25. <van-radio name="{{it.value}}">
  26. {{it.type}}</van-radio>
  27. </view>
  28. </view>
  29. </van-radio-group>
  30. </van-field>
  31. <!-- 富文本 -->
  32. <van-field autosize wx:elif="{{item.type=='textarea'}}" required="{{item.require}}"
  33. maxlength="{{!item.maxlength ? -1 : item.maxlength}}" label-class="label" label="{{item.label}}"
  34. data-item="{{item}}" data-index="{{index}}" value="{{ item.value }}" bind:input="input" type="textarea"
  35. placeholder="{{item.placeholder}}" error-message="{{item.err ? item.errmsg : ''}}" />
  36. <!-- 复选框 -->
  37. <van-field input-class="disinput" wx:elif="{{item.type=='checkbox'}}" readonly label-class="label"
  38. label="{{item.label}}" use-button-slot>
  39. <van-checkbox slot="button" value="{{item.value}}" data-index="{{index}}" data-item="{{item}}"
  40. bind:change="onChange" />
  41. </van-field>
  42. <!-- 默认类型 -->
  43. <van-field wx:else maxlength="{{!item.maxlength ? -1 : item.maxlength}}" label-class="label"
  44. label="{{item.label}}" value="{{ item.value }}" bind:input="input" data-item="{{item}}" data-index="{{index}}"
  45. placeholder="{{item.placeholder}}" required="{{item.require}}"
  46. error-message="{{item.err ? item.errmsg : ''}}" />
  47. </block>
  48. <view class="button">
  49. <van-button round block type="info" bindtap="submit">提交</van-button>
  50. </view>
  51. </van-cell-group>
  52. <!-- 多列联动选择器 -->
  53. <view class="area" hidden="{{pickershow}}">
  54. <van-picker show-toolbar="true" columns="{{ columns }}" data-index="{{pickerindex}}" bind:change="pickerfunc"
  55. bind:cancel="pickercancel" bind:confirm="pickerconfirm" />
  56. </view>
  57. <!-- 地址 -->
  58. <view class="area" hidden="{{show}}">
  59. <van-area data-index="{{areaindex}}" bind:confirm="areaconfirm" bind:change="areachange" bind:cancel="cancel"
  60. columns-placeholder="{{ ['请选择', '请选择', '请选择'] }}" area-list="{{ areaList }}" />
  61. </view>
  62. </view>