Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 在displayfield列表模板中打开url_Templates_Extjs_Extjs5 - Fatal编程技术网

Templates 在displayfield列表模板中打开url

Templates 在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,

在本例中,如果单击任何模板项,则会触发单击事件,并始终打开一个窗口并加载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,
    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。效果很好