我正在使用angular-chosen,默认情况下,如果源列表为空,则元素被禁用。即使源列表为空,是否有办法启用该元素?
问问题
61 次
1 回答
0
查看源代码后,我可以得出结论,这是不可能的(至少,没有黑客)。
你看,他们正在调用disableIfEmpty
函数并且没有办法控制它。
他们正在观察disabled
属性的变化,当它发生变化时——他们会更新组件。ng-disabled
这样做是为了与指令兼容。但是,如果您想启用空选择,它仍然无济于事。
此外,如果您手动运行$('[ng-model="myPets"]').removeAttr("disabled")
它并不会真正帮助您,因为它们没有显示本机选择,而是他们自己的div
:<div class="chosen-container chosen-container-single chosen-disabled"...
所以,如果你真的只是想让它看起来启用 - 你可以应用这个 CSS:
.chosen-disabled, .chosen-disabled * {
opacity: unset !important;
cursor: pointer !important;
}
或者这个 JS:
$('.chosen-disabled').removeClass('chosen-disabled')
正确的解决方案是向他们的仓库提交问题或 PR:https ://github.com/leocaseiro/angular-chosen
于 2020-05-15T08:08:04.090 回答