mirror of
https://gitee.com/xuliangzhan_admin/vxe-table.git
synced 2026-01-21 05:27:57 +08:00
复树形结构懒加载状态无法清除问题
This commit is contained in:
@@ -36,8 +36,8 @@
|
||||
<vxe-option value="1" :label="$t('app.body.other.v1')" class-name="end-of-life"></vxe-option>
|
||||
</vxe-select>
|
||||
<router-link class="link donation" :title="$t('app.footer.donationDesc')" :to="{name: 'Donation'}">{{ $t('app.header.label.donation') }}</router-link>
|
||||
<template v-if="appData.apiLoading">
|
||||
<a v-if="appData.showPlugin" class="link support" href="/vxe-table/plugins" target="_blank">💡插件</a>
|
||||
<template v-if="appData.apiLoading && appData.showPlugin">
|
||||
<a v-if="appData.disabledPlugin" class="link support" href="/vxe-table/plugins" target="_blank">💡插件</a>
|
||||
<a v-else title="维护中" class="link support" style="cursor: no-drop;color: #BFBFBF;background-color:#fff;" @click="$XModal.alert('维护中...', '维护中')">插件</a>
|
||||
</template>
|
||||
</div>
|
||||
@@ -137,6 +137,7 @@ export default defineComponent({
|
||||
sponsorList: [],
|
||||
apiLoading: false,
|
||||
showPlugin: false,
|
||||
disabledPlugin: false,
|
||||
tableList: [
|
||||
{
|
||||
label: 'app.aside.nav.start',
|
||||
@@ -2262,12 +2263,13 @@ export default defineComponent({
|
||||
})
|
||||
|
||||
const getVersion = () => {
|
||||
XEAjax.get('https://api.xuliangzhan.com:10443/demo/api/npm/versions/vxe-table').then(({ plugin, support, time, tags, versions }) => {
|
||||
XEAjax.get('https://api.xuliangzhan.com:10443/demo/api/npm/versions/vxe-table').then(({ sp, dp, ss, time, tags, versions }) => {
|
||||
appData.apiLoading = true
|
||||
appData.showPlugin = plugin
|
||||
appData.disabledPlugin = dp
|
||||
appData.showPlugin = sp
|
||||
const stableVersionList: any = []
|
||||
const betaVersionList: any = []
|
||||
store.commit('setSupportQQ', support)
|
||||
store.commit('setSupportQQ', ss)
|
||||
if (versions) {
|
||||
versions.forEach((version: any) => {
|
||||
if (new RegExp(`^${appData.version}.\\d{1,3}.\\d{1,3}$`).test(version)) {
|
||||
|
||||
@@ -741,42 +741,42 @@ const apis = [
|
||||
// defVal: '',
|
||||
// list: []
|
||||
// },
|
||||
{
|
||||
name: 'options',
|
||||
desc: '只对 name=select 有效,下拉选项列表',
|
||||
version: '',
|
||||
type: 'any[]',
|
||||
enum: '',
|
||||
defVal: '',
|
||||
list: []
|
||||
},
|
||||
{
|
||||
name: 'optionProps',
|
||||
desc: '只对 name=select 有效,下拉选项属性参数配置',
|
||||
version: '',
|
||||
type: 'any',
|
||||
enum: '',
|
||||
defVal: '{ value, label }',
|
||||
list: []
|
||||
},
|
||||
{
|
||||
name: 'optionGroups',
|
||||
desc: '只对 name=select 有效,下拉分组选项列表',
|
||||
version: '',
|
||||
type: 'any[]',
|
||||
enum: '',
|
||||
defVal: '',
|
||||
list: []
|
||||
},
|
||||
{
|
||||
name: 'optionGroupProps',
|
||||
desc: '只对 name=select 有效,下拉分组选项属性参数配置',
|
||||
version: '',
|
||||
type: 'any',
|
||||
enum: '',
|
||||
defVal: '{ options, label }',
|
||||
list: []
|
||||
},
|
||||
// {
|
||||
// name: 'options',
|
||||
// desc: '只对 name=select 有效,下拉选项列表',
|
||||
// version: '',
|
||||
// type: 'any[]',
|
||||
// enum: '',
|
||||
// defVal: '',
|
||||
// list: []
|
||||
// },
|
||||
// {
|
||||
// name: 'optionProps',
|
||||
// desc: '只对 name=select 有效,下拉选项属性参数配置',
|
||||
// version: '',
|
||||
// type: 'any',
|
||||
// enum: '',
|
||||
// defVal: '{ value, label }',
|
||||
// list: []
|
||||
// },
|
||||
// {
|
||||
// name: 'optionGroups',
|
||||
// desc: '只对 name=select 有效,下拉分组选项列表',
|
||||
// version: '',
|
||||
// type: 'any[]',
|
||||
// enum: '',
|
||||
// defVal: '',
|
||||
// list: []
|
||||
// },
|
||||
// {
|
||||
// name: 'optionGroupProps',
|
||||
// desc: '只对 name=select 有效,下拉分组选项属性参数配置',
|
||||
// version: '',
|
||||
// type: 'any',
|
||||
// enum: '',
|
||||
// defVal: '{ options, label }',
|
||||
// list: []
|
||||
// },
|
||||
{
|
||||
name: 'events',
|
||||
desc: '渲染组件的事件(请查看目标渲染的 Events)',
|
||||
|
||||
@@ -42,6 +42,7 @@ export default defineComponent({
|
||||
showOverflow: true,
|
||||
showHeaderOverflow: true,
|
||||
height: 500,
|
||||
resizable: true,
|
||||
loading: false,
|
||||
toolbarConfig: {
|
||||
slots: {
|
||||
@@ -215,6 +216,7 @@ export default defineComponent({
|
||||
showOverflow: true,
|
||||
showHeaderOverflow: true,
|
||||
height: 500,
|
||||
resizable: true,
|
||||
loading: false,
|
||||
toolbarConfig: {
|
||||
slots: {
|
||||
|
||||
@@ -65,6 +65,7 @@ export default defineComponent({
|
||||
highlightHoverRow: true,
|
||||
highlightCurrentRow: true,
|
||||
height: 600,
|
||||
resizable: true,
|
||||
loading: false,
|
||||
toolbarConfig: {
|
||||
slots: {
|
||||
@@ -239,6 +240,7 @@ export default defineComponent({
|
||||
highlightHoverRow: true,
|
||||
highlightCurrentRow: true,
|
||||
height: 600,
|
||||
resizable: true,
|
||||
loading: false,
|
||||
toolbarConfig: {
|
||||
slots: {
|
||||
|
||||
@@ -50,7 +50,6 @@ export default defineComponent({
|
||||
scrollYStore: {
|
||||
startIndex: 0,
|
||||
endIndex: 0,
|
||||
visibleIndex: 0,
|
||||
visibleSize: 0,
|
||||
offsetSize: 0,
|
||||
rowHeight: 0
|
||||
@@ -242,8 +241,11 @@ export default defineComponent({
|
||||
const { scrollYStore } = internalData
|
||||
const sYOpts = computeSYOpts.value
|
||||
const fullData = datas || []
|
||||
scrollYStore.startIndex = 0
|
||||
scrollYStore.visibleIndex = 0
|
||||
Object.assign(scrollYStore, {
|
||||
startIndex: 0,
|
||||
endIndex: 1,
|
||||
visibleSize: 0
|
||||
})
|
||||
internalData.fullData = fullData
|
||||
reactData.scrollYLoad = !!sYOpts.enabled && sYOpts.gt > -1 && sYOpts.gt <= fullData.length
|
||||
handleData()
|
||||
|
||||
@@ -1674,7 +1674,7 @@ export default defineComponent({
|
||||
treeLazyLoadeds.push(row)
|
||||
loadMethod({ $table: $xetable, row }).catch(() => []).then((childRecords: any) => {
|
||||
rest.treeLoaded = true
|
||||
XEUtils.remove(treeLazyLoadeds, item => item === row)
|
||||
XEUtils.remove(treeLazyLoadeds, item => $xetable.eqRow(item, row))
|
||||
if (!XEUtils.isArray(childRecords)) {
|
||||
childRecords = []
|
||||
}
|
||||
@@ -1721,7 +1721,7 @@ export default defineComponent({
|
||||
expandLazyLoadeds.push(row)
|
||||
loadMethod({ $table: $xetable, row, rowIndex: tableMethods.getRowIndex(row), $rowIndex: tableMethods.getVMRowIndex(row) }).catch((e: any) => e).then(() => {
|
||||
rest.expandLoaded = true
|
||||
XEUtils.remove(expandLazyLoadeds, item => item === row)
|
||||
XEUtils.remove(expandLazyLoadeds, item => $xetable.eqRow(item, row))
|
||||
rowExpandeds.push(row)
|
||||
resolve(nextTick().then(() => tableMethods.recalculate()))
|
||||
})
|
||||
@@ -3245,7 +3245,7 @@ export default defineComponent({
|
||||
const rest = fullAllDataRowIdData[getRowid($xetable, row)]
|
||||
if (lazy && rest) {
|
||||
rest.expandLoaded = false
|
||||
XEUtils.remove(expandLazyLoadeds, item => row === item)
|
||||
XEUtils.remove(expandLazyLoadeds, item => $xetable.eqRow(item, row))
|
||||
}
|
||||
return nextTick()
|
||||
},
|
||||
@@ -3378,7 +3378,7 @@ export default defineComponent({
|
||||
const rest = fullAllDataRowIdData[getRowid($xetable, row)]
|
||||
if (lazy && rest) {
|
||||
rest.treeLoaded = false
|
||||
XEUtils.remove(treeExpandeds, item => row === item)
|
||||
XEUtils.remove(treeExpandeds, item => $xetable.eqRow(item, row))
|
||||
}
|
||||
return nextTick()
|
||||
},
|
||||
@@ -4523,7 +4523,7 @@ export default defineComponent({
|
||||
} else {
|
||||
// 更新子节点状态
|
||||
XEUtils.eachTree([row], (item) => {
|
||||
if (row === item || (!checkMethod || checkMethod({ row: item }))) {
|
||||
if ($xetable.eqRow(item, row) || (!checkMethod || checkMethod({ row: item }))) {
|
||||
XEUtils.set(item, property, value)
|
||||
XEUtils.remove(treeIndeterminates, half => half === item)
|
||||
handleCheckboxReserveRow(row, value)
|
||||
@@ -4560,7 +4560,7 @@ export default defineComponent({
|
||||
} else {
|
||||
// 更新子节点状态
|
||||
XEUtils.eachTree([row], (item) => {
|
||||
if (row === item || (!checkMethod || checkMethod({ row: item }))) {
|
||||
if ($xetable.eqRow(item, row) || (!checkMethod || checkMethod({ row: item }))) {
|
||||
if (value) {
|
||||
selection.push(item)
|
||||
} else {
|
||||
|
||||
1
types/list.d.ts
vendored
1
types/list.d.ts
vendored
@@ -38,7 +38,6 @@ export interface ListInternalData {
|
||||
scrollYStore: {
|
||||
startIndex: number;
|
||||
endIndex: number;
|
||||
visibleIndex: number;
|
||||
visibleSize: number;
|
||||
offsetSize: number;
|
||||
rowHeight: number;
|
||||
|
||||
Reference in New Issue
Block a user