首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dataview中的自定义组件

Dataview中的自定义组件
EN

Stack Overflow用户
提问于 2016-09-21 21:04:16
回答 2查看 1.4K关注 0票数 0

我想为商店中的每个记录显示一个自定义UI组件。

看起来DataView是做这件事的最佳方式。有很多旧的链接说明了如何通过使用DataViewItem来实现这一点,但是我在当前的文档中找不到任何东西(我使用的是6.0.2版本)。使用extjs6可以做到这一点吗?下面是我现在使用的模板:

代码语言:javascript
运行
复制
var myTpl= new Ext.XTemplate(
    '<tpl for=".">',
        '<div>My object is too complex to be displayed with simple html<div>',
    '</tpl>'   
);

Ext.define( 'MyProject.view.main.MyList', {
    extend: 'Ext.DataView',
    xtype: 'mylist',

    requires: [
        'MyProject.view.main.MyViewModel'
    ],

    viewModel: {
        type: 'myviewmodel'
    },

    bind: {
        store: '{store}'
    },

    // I don't want to do this. I would rather have something like this:
    // itemXType: 'myitem'
    itemTpl: myTpl,

} );

我省略了viewModel实现,因为它唯一要做的就是定义一个代理存储。如果你需要的话,我可以把它加进去。

有没有其他方法可以做到这一点?也许是数据视图以外的其他东西?

EN

回答 2

Stack Overflow用户

发布于 2016-09-21 22:20:26

这在ExtJS 6.0.2中是可能的。只要看看Touch 2.4 example就知道了。这是Touch2.4的一个例子,但它仍然可以在带有现代工具包的ExtJS 6.0.2中工作。请看这个Sencha fiddle (我只是复制了Touch示例中的代码,并选择了ExtJS 6.0.2 -现代工具包)。关于文档:也许您正在查看经典工具包的文档。这里没有Ext.DataView,但您可以使用Ext.view.View

简短版本:使用

代码语言:javascript
运行
复制
 config: {
                defaultType: 'mydataitem',
                useComponents: true
            }

在你的DataView里。

创建一个自定义DataItem,它扩展了

代码语言:javascript
运行
复制
Ext.dataview.component.DataItem

然后在那里添加您想要的组件。

票数 0
EN

Stack Overflow用户

发布于 2019-11-05 20:52:16

对于高于Ext6.2的版本,请使用xtype: 'componentdataview'而不是xtype: 'dataview'https://docs.sencha.com/extjs/7.0.0/modern/Ext.dataview.Component.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39617389

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档