在写项目时有一个需求是要对表格中的数据根据状态不同可进行不同的操作,有一种状态就是需要把该行的数据作为一个总任务,通过点击拆分按钮打开弹框的形式来进行自定义拆分成若干个子任务,并且在拆分后可以对每一个子任务进行重新自定义分配份数,同事底部需要显示任务的总份数,以及分配完后还剩余的份数。大概的效果就是这样,样式没去改,请忽略。。。
这里面遇到了一个问题,就是当子任务设置的份数大于剩余份数时,子任务还是设置成功了,剩余份数此时就变成负的了。这显然不是我想要的效果。我需要当给子任务设置份数的时候,一旦设置份数大于剩余份数时,就把剩余的份数全部加给当前设置的子任务,而剩余份数为0。因为我在watch里对整个表单的数据进行了监听,所以就要考虑一个先后的问题,当子任务设置的份数大于剩余份数时,我需要在剩余份数变成负数之前,把剩余份数全部给到当前设置的子任务。想起来Vue中的input事件,测试过input事件会在watch之前触发。测试结果如下:
于是乎,不妨在input事件中先拿到当前设置的子任务的索引,然后在watch中通过判断剩余份数是否小于0,一旦触发小于0这个条件,便把当前设置的子任务份数强行赋值成总分数减去已分配的份数,这