vue.js - 单击外部时防止下拉关闭
问题描述
我在里面创建了一个带有 CInput 的 CDropdown。当我在外部单击时,我不希望下拉菜单自动关闭,因为我想将文本复制到某处并粘贴到 CInput。这个怎么可能?谢谢你的帮助。
<CDropdown :show.sync="isShow">
<template>
<CInput
label="Sample label"
type="text" />
</template>
</CDropdown>
解决方案
最后我通过阅读 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();
推荐阅读
- amazon-web-services - AWS Stepfunction,验证异常
- python - Python / Pandas:将特定行的一部分附加到大型数据框中的其余行
- c++ - 嵌入式中正常多态性的替代方案?
- laravel - 通过 AWS 部署 Laravel 项目后,Pusher 偶尔会停止工作
- matlab - 我无法理解我在 Matlab 中的错误
- postgresql - Postgresql 可选连接
- redquerybuilder - 时间戳redquerybuilder
- node.js - 使用 express 进行 Sentry 错误记录不会发送任何错误
- node.js - 无法在发件人姓名中编码重音符号 | gmail API
- javascript - Typescript 类型断言运算符优先级