1export const VirtualProps = { 2 dataKey: { 3 type: [String, Function], 4 required: true 5 }, 6 dataSources: { 7 type: Array, 8 required: true 9 }, 10 dataComponent: { 11 type: [Object, Function], 12 required: true 13 }, 14 15 keeps: { 16 type: Number, 17 default: 30 18 }, 19 extraProps: { 20 type: Object 21 }, 22 estimateSize: { 23 type: Number, 24 default: 50 25 }, 26 27 direction: { 28 type: String, 29 default: 'vertical' // the other value is horizontal 30 }, 31 start: { 32 type: Number, 33 default: 0 34 }, 35 offset: { 36 type: Number, 37 default: 0 38 }, 39 topThreshold: { 40 type: Number, 41 default: 0 42 }, 43 bottomThreshold: { 44 type: Number, 45 default: 0 46 }, 47 pageMode: { 48 type: Boolean, 49 default: false 50 }, 51 rootTag: { 52 type: String, 53 default: 'div' 54 }, 55 wrapTag: { 56 type: String, 57 default: 'div' 58 }, 59 wrapClass: { 60 type: String, 61 default: '' 62 }, 63 wrapStyle: { 64 type: Object 65 }, 66 itemTag: { 67 type: String, 68 default: 'div' 69 }, 70 itemClass: { 71 type: String, 72 default: '' 73 }, 74 itemClassAdd: { 75 type: Function 76 }, 77 itemStyle: { 78 type: Object 79 }, 80 headerTag: { 81 type: String, 82 default: 'div' 83 }, 84 headerClass: { 85 type: String, 86 default: '' 87 }, 88 headerStyle: { 89 type: Object 90 }, 91 footerTag: { 92 type: String, 93 default: 'div' 94 }, 95 footerClass: { 96 type: String, 97 default: '' 98 }, 99 footerStyle: { 100 type: Object 101 }, 102 itemScopedSlots: { 103 type: Object 104 } 105} 106 107export const ItemProps = { 108 index: { 109 type: Number 110 }, 111 event: { 112 type: String 113 }, 114 tag: { 115 type: String 116 }, 117 horizontal: { 118 type: Boolean 119 }, 120 source: { 121 type: Object 122 }, 123 component: { 124 type: [Object, Function] 125 }, 126 uniqueKey: { 127 type: [String, Number] 128 }, 129 extraProps: { 130 type: Object 131 }, 132 scopedSlots: { 133 type: Object 134 } 135} 136 137export const SlotProps = { 138 event: { 139 type: String 140 }, 141 uniqueKey: { 142 type: String 143 }, 144 tag: { 145 type: String 146 }, 147 horizontal: { 148 type: Boolean 149 } 150}