2017-03-09 20 views
7

Tôi đang sử dụng trường thẻ làm cột tiện ích con. Tôi đang chọn vài giá trị từ trình đơn thả xuống và sau đó lưu nó. Một lần nữa khi tôi mở tôi muốn giá trị được lựa chọn của tôi nên có mặt ở đó trong tagfield. Nó chỉ đến sau khi tagfield được tập trung.Cách tải hoặc đặt giá trị trong trường khóa

Những gì tôi đang cố gắng ở đây là, Mã của tôi:

var SValue = XML.getAttribute('value'); 

if(filterType.xtype == "tagfield"){ 
     filterType.setValue(SValue); // This is not working 
     filterField.inputEl.set({'placeholder':SValue}); // This is working but not correct way to do. 
    } 

Tôi đã từng giữ chỗ nó hơi cho thấy giá trị nhưng điều này là không đúng những gì tôi muốn. Bất cứ ai có thể gợi ý cho tôi những gì tôi có thể làm ở đây. Nếu nó được tự động tập trung thì cũng có cơ hội để làm việc.

Lưu ý: Nói cách khác, nó giống như cách tải hoặc đặt giá trị thành tagfield bằng cách đọc thuộc tính cụ thể từ XML.

+0

Bạn có câu đố không? –

+0

Không biết làm thế nào để làm cho fiddle vì tôi geeting gọi từ máy chủ – David

Trả lời

0

Lý do duy nhất tôi có thể nghĩ cho TagField của bạn không hiển thị giá trị khi bạn đặt tagField.setValue(value) là giá trị không có trong cửa hàng.

Vì vậy, bạn có một vài lựa chọn:

1 - Tải các cửa hàng trước khi thiết lập các giá trị:

var SValue = XML.getAttribute('value'), 
    store; 

if (filterType.getXType() === "tagfield") { 
    store = filterType.getStore(); 

    if (store) { 
     store.load({ 
      callback: function() { 
       filterType.setValue(SValue); 
      } 
     }); 
    } 
} 

2 - Tạo tagField bạn và để giá trị không có trong cửa hàng để được lựa chọn, vì vậy thiết lập forceSelection: false trong cấu hình tagField của bạn.

Các vấn đề liên quan