我是只兔子i 2022-05-19 14:36 采纳率: 58.3%
浏览 180

关于element树同级之间上移下移的问题

问题遇到的现象和发生背景

目前只写了可以改变前端显示的方法,把数据传到后端的方法还不会写T^T, 怎么写把数据传到后端的方法呢,已知树的级数排序由sortNum这个字段来决定(一级:1, 二级1.1 ,三级1.1.1 ),上移下移怎么给这个字段赋值然后传给后台呢,求赐教!关于element的树的问题都好复杂T^T T^T

问题相关代码,请勿粘贴截图

// 节点上移
nodeUp(node, data) {
const parent = node.parent;
const children = parent.data.children || parent.data;
const cIndex = children.findIndex((d) => d.poBomDetailId === data.poBomDetailId);
console.log(parent.level)
console.log(cIndex)
if (parent.level === 0 && cIndex === 0) {
return;
} else if (parent.level !== 0 && cIndex === 0) {
//不同父节点中移动
alert("不同父节点中移动");
} else if (
(parent.level === 0 && cIndex !== 0) ||
(parent.level !== 0 && cIndex !== 0)
) {
const tempChildrenNodex1 = children[cIndex - 1];
const tempChildrenNodex2 = children[cIndex];
this.$set(children, cIndex - 1, tempChildrenNodex2);
this.$set(children, cIndex, tempChildrenNodex1);
this.defaultExpandKeys[0] = data.poBomDetailId;
}
this.tree_key++;
console.log(this.tree_key)
},

// 节点下移
nodeDown(node, data) {
  const parent = node.parent;
  const children = parent.data.children || parent.data;
  const cIndex = children.findIndex((d) => d.poBomDetailId === data.poBomDetailId);
  const cLength = children.length - 1; // 最边上的节点
  // const allLevel = store.data.length - 1; // 树的深度
  if (data.leafNodeFlag === 'N' && cIndex === cLength) {
    // 最最末的节点
    return;
  } else if (data.leafNodeFlag !== 'N' && cIndex === cLength) {
    //父节点不同,leafNodeFlag 值为N
    alert("不能移动");
  } else if (
    (data.leafNodeFlag === 'N' && cIndex !== cLength) ||
    (data.leafNodeFlag !== 'N' && cIndex !== cLength)
  ) {
    // 父节点相同
    const tempChildrenNodex1 = children[cIndex + 1];
    const tempChildrenNodex2 = children[cIndex];
    this.$set(children, cIndex + 1, tempChildrenNodex2);
    this.$set(children, cIndex, tempChildrenNodex1);
    this.defaultExpandKeys[0] = data.poBomDetailId;
  }
  this.tree_key++;
},
我想要达到的结果

上移下移给sortNum这个字段重新赋值传给后台

  • 写回答

1条回答 默认 最新

  • 君梦长河 2022-05-19 15:55
    关注

    可以让后端去给你移动,你这里只传数据的下标就可以了。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月19日

悬赏问题

  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号