m0_58041071 2022-12-08 02:37 采纳率: 50%
浏览 35
已结题

vue甘特图上下拖拽冲突

在vue甘特图中,通过drop上下拖动模块时,希望有冲突的模块能够将该行撑开(例如原行高30px,现在拖拽后产生冲突,则行高变为60px以容纳两行高度)。现在用@drop方法能看到该行数据,但是修改时,出现”Cannot set property offsetHeight of # which has only a getter“的错误,不知道怎么处理

  • 写回答

1条回答 默认 最新

  • ShowMeAI 2022-12-08 07:44
    关注

    望采纳


    如果您使用的是Vue.js,可以通过计算属性来实现您的需求。

    首先,您需要在Vue实例中定义一个计算属性,该属性用于计算行的高度,并在需要时更新该值。下面是一个简单的例子:

    // 在Vue实例中定义一个计算属性
    computed: {
      rowHeight() {
        // 检查是否存在冲突
        if (this.hasConflict) {
          // 如果存在冲突,则将行高设置为原来的两倍
          return this.originalRowHeight * 2;
        } else {
          // 否则,使用原始行高
          return this.originalRowHeight;
        }
      }
    }
    

    然后,您可以在模板中绑定该计算属性,以便在拖拽模块时更新行高:

    <!-- 绑定行高计算属性 -->
    <gantt-row :height="rowHeight"></gantt-row>
    

    在拖拽模块时,只需监听拖拽事件并更新hasConflict变量的值即可。如果存在冲突,则将其设置为true,否则设置为false。当更新该值时,计算属性会自动重新计算行高,并在模板中更新相应的值。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月14日
  • 已采纳回答 1月7日
  • 创建了问题 12月8日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部