|
@@ -11,17 +11,34 @@
|
|
|
<div :class="item.flexStyle || 'flex-row'" class="px-2 d-flex">
|
|
|
<v-text-field
|
|
|
v-if="['text', 'password', 'number'].includes(item.type)"
|
|
|
- :type="item.type"
|
|
|
+ v-bind="item"
|
|
|
v-model="query[item.key]"
|
|
|
- :rules="item.rules"
|
|
|
:hide-details="item.hideDetails ?? false"
|
|
|
- :disabled="item.disabled"
|
|
|
:dense="item.dense ?? true"
|
|
|
:style="{width: item.width}"
|
|
|
- :color="item.color"
|
|
|
- :label="item.label"
|
|
|
:placeholder="item.placeholder || item.label"
|
|
|
:outlined="item.outlined ?? true"
|
|
|
+ hide-spin-buttons
|
|
|
+ @wheel.native="$event => handleWheel($event, item)"
|
|
|
+ @keyup.enter.native="item.keyupEnterNative && item.keyupEnterNative(index)"
|
|
|
+ @click="item.click && item.click(index)"
|
|
|
+ @click:append="item.clickAppend && item.clickAppend(index)"
|
|
|
+ @change="handleChange(item)"
|
|
|
+ @input="item.onInput && item.onInput(item)"
|
|
|
+ />
|
|
|
+ <!-- <v-text-field
|
|
|
+ v-if="['text', 'password', 'number'].includes(item.type)"
|
|
|
+ v-model="query[item.key]"
|
|
|
+ :hide-details="item.hideDetails ?? false"
|
|
|
+ :dense="item.dense ?? true"
|
|
|
+ :style="{width: item.width}"
|
|
|
+ :placeholder="item.placeholder || item.label"
|
|
|
+ :outlined="item.outlined ?? true"
|
|
|
+ :type="item.type"
|
|
|
+ :rules="item.rules"
|
|
|
+ :disabled="item.disabled"
|
|
|
+ :color="item.color"
|
|
|
+ :label="item.label"
|
|
|
:autofocus="item.autofocus"
|
|
|
:required="item.required"
|
|
|
:class="item.class"
|
|
@@ -37,28 +54,50 @@
|
|
|
@click:append="item.clickAppend && item.clickAppend(index)"
|
|
|
@change="handleChange(item)"
|
|
|
@input="item.onInput && item.onInput(item)"
|
|
|
- />
|
|
|
+ /> -->
|
|
|
<v-autocomplete
|
|
|
v-if="item.type === 'autocomplete'"
|
|
|
- :rules="item.rules"
|
|
|
v-model="query[item.key]"
|
|
|
:attach="!item.noAttach"
|
|
|
- :loading="item.loading"
|
|
|
- :label="item.label"
|
|
|
:placeholder="item.placeholder || item.label"
|
|
|
- :items="item.items"
|
|
|
:item-text="item.itemText || 'label'"
|
|
|
:item-value="item.itemValue || 'value'"
|
|
|
:outlined="item.outlined ?? true"
|
|
|
:dense="item.dense ?? true"
|
|
|
+ :search-input.sync="item.searchInput"
|
|
|
+ :hide-details="item.hideDetails ?? false"
|
|
|
+ :no-data-text="item.noDataText || 'No data available'"
|
|
|
+ v-bind="item"
|
|
|
+ @change="handleChange(item)"
|
|
|
+ >
|
|
|
+ <template v-if="item.slotAppendItem" v-slot:append-item>
|
|
|
+ <slot :name="item.slotAppendItem" :item="item"></slot>
|
|
|
+ </template>
|
|
|
+ <template v-if="item.prependItem" #prepend-item>
|
|
|
+ <slot :name="item.prependItem" :item="item"></slot>
|
|
|
+ </template>
|
|
|
+ </v-autocomplete>
|
|
|
+ <!-- <v-autocomplete
|
|
|
+ v-if="item.type === 'autocomplete'"
|
|
|
+ v-model="query[item.key]"
|
|
|
+ :attach="!item.noAttach"
|
|
|
+ :placeholder="item.placeholder || item.label"
|
|
|
+ :item-text="item.itemText || 'label'"
|
|
|
+ :item-value="item.itemValue || 'value'"
|
|
|
+ :outlined="item.outlined ?? true"
|
|
|
+ :dense="item.dense ?? true"
|
|
|
+ :search-input.sync="item.searchInput"
|
|
|
+ :hide-details="item.hideDetails ?? false"
|
|
|
+ :no-data-text="item.noDataText || 'No data available'"
|
|
|
+ :rules="item.rules"
|
|
|
+ :loading="item.loading"
|
|
|
+ :label="item.label"
|
|
|
+ :items="item.items"
|
|
|
:disabled="item.disabled"
|
|
|
:multiple="item.multiple"
|
|
|
:clearable="item.clearable"
|
|
|
- :search-input.sync="item.searchInput"
|
|
|
:readonly="item.readonly"
|
|
|
:hide-no-data="item.hideNoData"
|
|
|
- :hide-details="item.hideDetails ?? false"
|
|
|
- :no-data-text="item.noDataText || 'No data available'"
|
|
|
:hide-selected="item.hideSelected"
|
|
|
:return-object="item.returnObject"
|
|
|
@change="handleChange(item)"
|
|
@@ -69,7 +108,7 @@
|
|
|
<template v-if="item.prependItem" #prepend-item>
|
|
|
<slot :name="item.prependItem" :item="item"></slot>
|
|
|
</template>
|
|
|
- </v-autocomplete>
|
|
|
+ </v-autocomplete> -->
|
|
|
<!-- autocomplete2 多选纸片样式 -->
|
|
|
<v-autocomplete
|
|
|
v-if="item.type === 'autocomplete2'"
|