Điều này yêu cầu vài bước. Vấn đề là ComboBox
có trường nhập bên dưới và đầu vào không thể hiển thị html. Vì vậy, bước đầu tiên là thay đổi mẫu mà thay thế đầu vào bằng div. Ví dụ:
fieldSubTpl: [
'<div class="{hiddenDataCls}" role="presentation"></div>',
'<div id="{id}" type="{type}" ',
'<tpl if="size">size="{size}" </tpl>',
'<tpl if="tabIdx">tabIndex="{tabIdx}" </tpl>',
'class="{fieldCls} {typeCls}" autocomplete="off"></div>',
'<div id="{cmpId}-triggerWrap" class="{triggerWrapCls}" role="presentation">',
'{triggerEl}',
'<div class="{clearCls}" role="presentation"></div>',
'</div>',
{
compiled: true,
disableFormats: true
}
]
Sau đó, thay đổi mẫu đó cho thấy chọn giá trị:
displayTpl: Ext.create('Ext.XTemplate', [
'<tpl for=".">',
'<img src="http://phpbb3.pl/adm/images/icon_edit.gif" />',
'{[typeof values === "string" ? values : values["title"]]}',
'</tpl>'
])
Một điều nữa là để tạo mới danh sách mẫu-item. Ví dụ:
listConfig: {
getInnerTpl: function() {
return '<div class="search-item">' +
'<h3><img src="http://phpbb3.pl/adm/images/icon_edit.gif" /><span>{[Ext.Date.format(values.lastPost, "M j, Y")]}<br />by {author}</span>{title}</h3>' +
'{excerpt}' +
'</div>';
}
}
Và điều cuối cùng - bạn phải đảm bảo rằng giá trị được đặt chính xác vào div. Cho rằng bạn nên ghi đè setRawValue
phương pháp:
setRawValue: function(value) {
var me = this;
value = Ext.value(value, '');
me.rawValue = value;
// Some Field subclasses may not render an inputEl
if (me.inputEl) {
// me.inputEl.dom.value = value;
// use innerHTML
me.inputEl.dom.innerHTML = value;
}
return value;
}
ý rằng mẫu mới không chứa bất kỳ lĩnh vực input
, vì vậy giá trị sẽ không được đệ trình. Nếu bạn cần sử dụng kết hợp như vậy với biểu mẫu, bạn nên thêm đầu vào bị ẩn ở đâu đó trong số fieldSubTpl
và đặt giá trị cho nó trong setRawValue
.
mẫu làm việc: http://jsfiddle.net/lolo/8Xs5h/1/
OMG !, nó khá nhiều thứ để làm, tôi chỉ muốn hỏi bạn làm thế nào tôi có thể quản lý html tôi nhận được từ máy chủ, vì displayField đang nhận được một html trực tiếp, không phải là một văn bản, sau đó nếu bạn có thể hướng dẫn tôi cách tiếp cận tốt hơn trong trường hợp này là gì. cảm ơn. –
Cảm ơn bạn, tôi đã tìm được cách của mình thông qua mã:) ... –
Cảm ơn bạn đã nhập đoạn mã – A1rPun