mui 侧栏菜单实现多级树数据列表,返回上一级树

想在移动端使用树结构选择项目,但是在移动端显示体验太差怎么办?使用栈结构存储树历史,使用类似侧栏菜单的方式实现:

var currtTreeArr = []; //当前树列表数组
var treeData = []; //根节点数据
var treeHistoryArr = []; //历史打开的树,用于回退,进入到其他节点
$(".mui-table-view").on("click", ".mui-navigate-right", function () { //列表冒泡监听点击
  var idx = $(this).attr("index");
  if (currtTreeArr[idx].children.length) {
    //把点击项的子树显示出来,并添加当前点击的子树到历史
    currtTreeArr = currtTreeArr[idx].children;
    treeHistoryArr.push(currtTreeArr);
    renderTree(currtTreeArr);
  } else {
    renderLeafNode(currtTreeArr[idx].id); //叶子节点
  }
});

//渲染树结构列表
function renderTree(data) {
  if (treeHistoryArr.length > 1) {
    $("#goback").show(); //显示返回上一级按钮
  } else {
    $("#goback").hide();
  }
  var dom = "";
  data.forEach(function (item, idx) {
    dom +=
      ' 
  • 你可能感兴趣的:(前端,移动端开发,树形结构,javascript,mui)