Templates 在displayfield列表模板中打开url
在本例中,如果单击任何模板项,则会触发单击事件,并始终打开一个窗口并加载url 我需要建立一个只选择url的条件;只有在单击url时,窗口才会打开并加载de urlTemplates 在displayfield列表模板中打开url,templates,extjs,extjs5,Templates,Extjs,Extjs5,在本例中,如果单击任何模板项,则会触发单击事件,并始终打开一个窗口并加载url 我需要建立一个只选择url的条件;只有在单击url时,窗口才会打开并加载de url var cars = 'car - Fiat, country - Italy, site - https://www.sencha.com/'; Ext.create('Ext.form.Panel', { renderTo: Ext.getBody(), width: 450, height: 200,
var cars = 'car - Fiat, country - Italy, site - https://www.sencha.com/';
Ext.create('Ext.form.Panel', {
renderTo: Ext.getBody(),
width: 450,
height: 200,
bodyPadding: 10,
title: 'Template',
items: [{
xtype: 'displayfield',
fieldLabel: 'Cars',
name: 'cars',
renderer: function (value, field) {
if (value && value.indexOf(',') > -1) {
this.rndTpl = this.rndTpl || new Ext.XTemplate('<div style = "line-height: 150%;' +
'margin-left: -25px; margin-top: -12px; cursor: pointer;">' +
'<ul><li>{[values.cars.replace(/,/g, "<li/>")]}</li></ul>' +
'</div>');
return this.rndTpl.apply({
cars: value
});
} else {
return value;
}
},
listeners: {
render: function(field, eOpts) {
field.setValue('car - Fiat, country - Italy, site - https://www.sencha.com/')
},
change: function(field){
var stringValues = field.value;
if(stringValues && (stringValues !== '' || stringValues !== null)){
var arrayValues = stringValues.split(',');
arrayValues.map(function(item){
var typeValue = item.indexOf('site');
if(typeValue > -1){
var value = item.substring(item.indexOf('-') + 1);
field.getEl().on('click', function () {
window.open(value, '', false);
});
}else{
return false;
}
});
}
}
}
}]
});
var cars='汽车-菲亚特,国家-意大利,地点-https://www.sencha.com/';
Ext.create('Ext.form.Panel'{
renderTo:Ext.getBody(),
宽度:450,
身高:200,
车身衬垫:10,
标题:“模板”,
项目:[{
xtype:'displayfield',
fieldLabel:“汽车”,
名称:“汽车”,
渲染器:函数(值、字段){
if(value&&value.indexOf(',')>-1){
this.rndTpl=this.rndTpl | |新Ext.XTemplate(“”)+
“- {[values.cars.replace(/,/g,
”)}”+
'');
返回this.rndTpl.apply({
汽车:价值
});
}否则{
返回值;
}
},
听众:{
渲染:函数(字段,eOpts){
field.setValue('汽车-菲亚特,国家-意大利,地点-https://www.sencha.com/')
},
更改:功能(字段){
var stringValues=field.value;
if(stringValues&(stringValues!=''| | stringValues!==null)){
var arrayValues=stringValues.split(',');
arrayValues.map(函数(项){
var typeValue=item.indexOf('site');
如果(类型值>-1){
变量值=项.子字符串(项.索引('-')+1);
函数()上的field.getEl(){
window.open(值为“”,false);
});
}否则{
返回false;
}
});
}
}
}
}]
});
小提琴:所以我用叉子叉了你的小提琴,并更改了
点击事件函数。我正在获取单击元素的内容并检查它是否是url,这是谢谢beso9595。效果很好