/** * 把用户移动的块,标记为true * @param {*} layout * @param {*} key * @param {*} GridX * @param {*} GridY * @param {*} isUserMove */ export const syncLayout = (layout, key, GridX, GridY, isUserMove) => { const newlayout = layout.map((item) => { if (item.key === key) { item.GridX = GridX; item.GridY = GridY; item.isUserMove = isUserMove; return item; } return item; }); return newlayout; }; /** * 初始化的时候调用 * 会把isUserMove和key一起映射到layout中 * 不用用户设置 * @param {*} layout * @param {*} children */ export const MapLayoutTostate = (layout, children) => { return layout.map((child, index) => { let newChild = Object.assign({}, child, { isUserMove: true, key: children[index].key, static: children[index].static }); return newChild; }); }; /** * 用key从layout中拿出item * @param {*} layout 输入进来的布局 * @param {*} key */ export const layoutItemForkey = (layout, key) => { for (let i = 0, length = layout.length; i < length; i++) { if (key === layout[i].key) { return layout[i]; } } };