fix:更新拖拽数据源
This commit is contained in:
@ -1,40 +1,49 @@
|
||||
import { defineStore } from 'pinia'
|
||||
import { IPageComponent } from '../type/IPageComponent';
|
||||
import { ref } from 'vue';
|
||||
import {defineStore} from 'pinia'
|
||||
import {IPageComponent} from '../type/IPageComponent';
|
||||
import {ref} from 'vue';
|
||||
|
||||
function findObjectById(obj, targetId) {
|
||||
if (Array.isArray(obj)) {
|
||||
for (let item of obj) {
|
||||
let found = findObjectById(item, targetId);
|
||||
if (found) return found;
|
||||
if (Array.isArray(obj)) {
|
||||
for (let item of obj) {
|
||||
let found = findObjectById(item, targetId);
|
||||
if (found) return found;
|
||||
}
|
||||
} else if (typeof obj === 'object' && obj !== null) {
|
||||
if (obj.id === targetId) {
|
||||
return obj;
|
||||
}
|
||||
for (let key in obj) {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
let found = findObjectById(obj[key], targetId);
|
||||
if (found) return found;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else if (typeof obj === 'object' && obj !== null) {
|
||||
if (obj.id === targetId) {
|
||||
return obj;
|
||||
}
|
||||
for (let key in obj) {
|
||||
if (obj.hasOwnProperty(key)) {
|
||||
let found = findObjectById(obj[key], targetId);
|
||||
if (found) return found;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null; // 如果没有找到,则返回null
|
||||
return null; // 如果没有找到,则返回null
|
||||
}
|
||||
|
||||
export const useSchemeStore = defineStore('scheme', () => {
|
||||
// const componnets = ref<IPageComponent[]>()
|
||||
const previewData = ref<IPageComponent[]>()
|
||||
const nowComponentsData = ref<IPageComponent>()
|
||||
const components = ref<IPageComponent[]>()
|
||||
const previewScheme = ref<IPageComponent[]>()
|
||||
const nowComponentsData = ref<IPageComponent>()
|
||||
|
||||
function initScheme(value) {
|
||||
previewData.value = value
|
||||
}
|
||||
function getSchemeObj(id) {
|
||||
return findObjectById(previewData.value, id)
|
||||
}
|
||||
function updateScheme()
|
||||
{
|
||||
function initPreviewScheme(value) {
|
||||
previewScheme.value = value
|
||||
nowComponentsData.value=value[0]
|
||||
}
|
||||
|
||||
}
|
||||
return { previewData,nowComponentsData, initScheme, getSchemeObj,updateScheme }
|
||||
|
||||
function initComponents(value:IPageComponent[]) {
|
||||
components.value = value
|
||||
}
|
||||
|
||||
function getSchemeObj(id) {
|
||||
return findObjectById(previewScheme.value, id)
|
||||
}
|
||||
|
||||
function updateScheme() {
|
||||
|
||||
}
|
||||
|
||||
return {previewScheme, components, nowComponentsData, initComponents, initPreviewScheme, getSchemeObj, updateScheme}
|
||||
})
|
||||
Reference in New Issue
Block a user