Giter Club home page Giter Club logo

vue-drag-tree-table's People

Contributors

coldday avatar hqzh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vue-drag-tree-table's Issues

增加“是否仅允许同级目录之间拖拽”和“是否允许被目标元素包含”字段的限制

背景:

  1. 针对 issue#8,增加了同级目录之间拖拽的限制条件
  2. 针对 issue#26,增加了是否允许被目标元素包含的限制条件
  3. 现在接手的项目中有这个需求

具体修改如下(修改处的起始行数以修改后的文件为准):

// 目录  ./src/lib/dragTreeTable.vue
// 第一处
133       const row = rows[i];
134  +    let dragElementLevel = dragParentNode.firstElementChild.dataset.level;
135  +    let targetElementLevel = row.dataset.level;
136       const rx = func.getElementLeft(row);

// 第二处
140       if (x > rx && x < (rx + rw) && y > ry && y < (ry + rh)) {
141  +      // 是否仅允许同级目录之间拖拽
142  +      if (this.onlyAllowSiblingDrag ? dragElementLevel !== targetElementLevel : false) return;
143         const diffY = y - ry

// 第三处
155       } else if (diffY/rowHeight > 1/4) {
156  +      // 是否允许被目标元素包含
157  +      if (!this.allowedIncluded) return;
158         if (hoverBlock.children[1].style.opacity !== '0.5') {

修改之后,调用如下(根据自己的需求修改 onlyAllowSiblingDragallowedIncluded 的值):

<dragTreeTable
  :data="treeData"
  :onDrag="onTreeDataChange"
  :isdraggable="true"
  :fixed="false"
  :height="400"
  :onlyAllowSiblingDrag="true"
  :allowedIncluded="false"></dragTreeTable>

望其他大佬不吝斧正。

ondrag在处理子节点时order会有问题

dragTreeTable里resetTreeData的pushData这个方法在走到子节点的遍历时,其实needPushList里已经有一个元素了,但是方法的开始是let order = 0
应该是let order = needPushList.length
否则移动后前两个元素的order都会是0

onTreeDataChange

希望能拿到targetID和dragId。在onTreeDataChange中给到我。另外希望参与这个项目,嘻嘻

行展开问题

你好 某一行有lists属性 但不写open属性 则无法展开 不知道这是个bug还是特意做的 :)

> 怎么看不到1.17的版本呢

怎么看不到1.17的版本呢

用最新版吧1.2.5

我现在用的是这个1.2.5的版本,还是存在这个问题,没有更新最新的代码吗?

如何获取到拖动后的Item

你好,目前用这个遇到一个问题,需要获取到拖动变更后的数据,默认的方法好像只能得到整个list,请问有方便点的方法吗?谢谢

点击后边的编辑获取当前行index

原谅我这个菜鸡,百思不得其解,在删除事件里获取这行的index,取的值总是-1
这是cloumn里的删除事件:
`actions: [{
text: '删除',
onclick: this.delParameter,
formatter: (index) => {
return '删除 '
}

                    }`

删除事件是这么写得:
delParameter(index){ var rowIndex = $(this).parents(".tree-row").attr("tree-id").index(); console.log(rowIndex); }

关于操作栏的一些 疑问

image

如图所示,当前写法是不会报错的。
但是当我把formatter删除之后会报formatter不是一个方法的错误,如此看来formatter是一个必填参数,那和上面的text是否有一些重复性了?

小白刚开始学,不太懂大佬您的想法,望解答,谢谢

当isContainChildren: true,会有一个bug,修改如下

当isContainChildren: true, //是否勾选子节点,默认false,有一个bug,我已经修复,GitHub上没有找到你的项目,希望你也能修复下,在row.vue中,onCheckboxClick方法中,this.setAllCheckData这一行改为 this.setAllCheckData([model] || [], !!evt.target.checked)

scrollbar is not working properly with the plugin

Hi,
We have much data in the page and made the header to be stay on the page always. Also, we disabled the page scrollbar and used the scrollbar at the div level only. This time, drag and drop functionality is not working. i noticed that plugin is considering page level X and Y coordinates to drop the element. can you fix this issue in the plugin?

Thanks

create empty row(space) on drop item

whenever item dragged from one place to another, empty space/row needed to show the drop item. right now, we are dropping on or above row. its not clear. when the item dragged on, empty space has to show clearly item will be dropped. is there any way to show empty row space?

禁用无意义操作

有一些无意义的操作是否考虑内置禁用?例如:

  • 将子节点拖进它的父节点当中,实际父子关系不变
  • 将节点拖放到前一个节点的后面,实际顺序不变
  • 将节点拖放到后一个节点的前面,实际顺序不变

子节点自定义字段

现在子节点字段为lists,可不可以传入一个prop来自定义子节点的字段名?比如说为child或children

传参结构需求

建议新版本lists columns custom_field 三个参数独立传进去,不要杂糅进一个treeData对象,这样我的columns 和custom_field可以放在组件内,lists遇到复杂的业务需求放vuex也不影响,本来想自己fork改一下的,但是不能保持更新,请考虑一下。

需求:子节点和父节点的字段显示不一样

需求场景: 父节点 第一列显示地址
子节点第一列显示订单号
custom_field字段无法支持 此功能

目前我是通过formatter 里面去判断进行修改的

可否在custom_field里面增加这些配置项???

编辑问题

我点击每一行的编辑按钮, 如何实现实时编辑呢

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.