繁体   English   中英

如何在sencha touch中拥有可编辑列表?

[英]how to have editable list in sencha touch?

  • 我想建立一个待办事项清单。 因此,我正在寻找在item双击上的列表,这将允许我通过允许显示文本字段来编辑项目。 有任何想法吗 ??

这是iPhone样式的可编辑列表

https://github.com/tmanderson/Sencha-Touch-Edit-List

这是一个有效的示例
将数据封装在要编辑的div中 ,将'data-name'属性赋予具有相同数据名称的div 捕获itemdoubletap事件并找到实际目标。 在此示例中,由于数据为“ title ”,因此为其div的属性指定了相同的名称

Ext.create('Ext.List', {
                fullscreen: true,
                itemTpl: '<div data-name="title">{title}</div>',
                data: [
                    { title: 'Item 1' },
                    { title: 'Item 2' },
                    { title: 'Item 3' },
                    { title: 'Item 4' }
                ],
                listeners: {
                    itemdoubletap: function (list, index, target, record, e, eOpts) {
                        var actualTarget = e.getTarget('div');
                        if (actualTarget.dataset.name == 'title') {
                            actualTarget.innerHTML = '';
                            var textfield = document.createElement("INPUT");
                            textfield.setAttribute("type", "text");
                            textfield.style.width = '100%',
                            textfield.record = record;
                            textfield.value = record.data[actualTarget.dataset.name];
                            textfield.onblur = function () {
                                if (record.data[actualTarget.dataset.name] != this.value) {
                                    record.data[actualTarget.dataset.name] = this.value;
                                }
                                this.parentNode.innerHTML = this.value;
                            }
                            actualTarget.appendChild(textfield);
                            textfield.focus();
                        }
                    }
                }
            }

只需创建一个列表,向其中添加一个itemdoubletap侦听器,然后在该事件上创建一个带有textarea和固定工具栏按钮的浮动面板。 查看Sencha Touch示例以供参考。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM