[英]Drag and drop in Itemselector extJS
如何在Itemselector中禁用項目(請參閱附件)? 我想在將項目移動到目標字段時禁用源字段中的某些項目。 你能幫我嗎? 附件-圖片
我進行了很多搜索並竭盡所能。 我發現沒有辦法。
由於沒有默認禁用的選項(據我所知),我將刪除列表中的項目,並在需要時再次添加。 在這里我有一個疑問。 用戶可以從左側拖動並將其拖放到右側,也可以從右側拖動並將其拖放到左側。 如何知道他從哪里拖動? 是否有任何方法或功能可以確定源位置?
不幸的是,這需要大量的手動工作,因為ExtJS不支持立即禁用網格,組合框等中的記錄。
我在這里描述了如何創建帶有禁用記錄的組合框。 由於combobox和itemselector都依賴於其boundlist
,因此非常方便。
您可以在ItemSelector
的源代碼中ItemSelector
它,它具有兩個屬性fromField
和toField
,其中包含兩個multiselect
組件。 您可以將事件附加到這些列表或它們各自的boundlist
列表。
一個快速的小提琴,顯示了如何將禁用的元素顯示為灰色以及如何防止拖放到禁用的元素: https : //fiddle.sencha.com/#view/editor&fiddle/2382
缺少的是該按鈕在添加之前不檢查記錄是否已禁用,因此您必須重寫ItemSelector的onAddBtnClick
方法。 如果從ItemSelector派生一個新的自定義組件,這比在我的快速和骯臟小提琴中要容易得多。 因此,我強烈建議您定義從ItemSelector派生的自定義組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.