【问题标题】:Prevent dropdown close when click outside单击外部时防止下拉菜单关闭
【发布时间】:2021-09-01 20:39:40
【问题描述】:

我创建了一个带有 CInput 的 CDropdown。当我在外部单击时,我不希望下拉菜单自动关闭,因为我想将文本复制到某处并粘贴到 CInput。这个怎么可能?感谢您的帮助。

<CDropdown :show.sync="isShow">
  <template>
    <CInput 
      label="Sample label"
      type="text" />
  </template>
</CDropdown>

【问题讨论】:

  • 必须有一个blur 事件来处理下拉隐藏功能。尝试覆盖它也许......
  • 我发现了 CClickaway.js 的点击事件。当我使用 chrome 开发工具删除它时它可以工作。但它不能被 JQuery.off() 删除。所以不知道怎么用代码去掉???

标签: vue.js core-ui


【解决方案1】:

最后我通过阅读 CDropdown 的源代码并解决方法:

首先,将 ref 设置为 CDropdown:

<CDropdown ref="refDropdown" :show.sync="isShow">

然后重写CDropdown的hide()函数,一定要调用$forceUpdate()来更新CDropdown的指令:

this.$refs.refDropdown.hide = function() {
  console.log("Prevented hide");
}
this.$refs.refDropdown.$forceUpdate();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-16
    • 2021-07-06
    • 2017-03-23
    • 2023-02-23
    • 2021-12-26
    • 2014-05-26
    • 2016-05-26
    相关资源
    最近更新 更多