写一个extjs TreePanel的完整mvvm例子,数据源是json,不需要增删改查
时间: 2024-05-13 17:21:14 浏览: 92
好的,以下是一个基本的extjs TreePanel的完整mvvm例子,数据源为json:
1. HTML代码:
```
<div id="treePanel"></div>
```
2. 定义Model:
```
Ext.define('TreeModel', {
extend: 'Ext.data.Model',
fields: [{
name: 'text',
type: 'string'
}, {
name: 'leaf',
type: 'boolean',
defaultValue: true
}]
});
```
3. 定义Store:
```
var store = Ext.create('Ext.data.Store', {
model: 'TreeModel',
proxy: {
type: 'ajax',
url: 'data.json',
reader: {
type: 'json',
root: 'data'
}
}
});
```
4. 定义ViewModel:
```
var viewModel = Ext.create('Ext.app.ViewModel', {
stores: {
tree: store
}
});
```
5. 定义TreePanel:
```
var treePanel = Ext.create('Ext.tree.Panel', {
title: 'TreePanel',
width: '100%',
height: 500,
viewModel: viewModel,
store: '{tree}',
rootVisible: false,
useArrows: true,
renderTo: 'treePanel',
columns: [{
xtype: 'treecolumn',
header: 'Text',
dataIndex: 'text',
flex: 1
}]
});
```
6. 加载数据:
```
store.load();
```
以上是一个基本的extjs TreePanel的MVVM例子,数据源为json。如果你需要做增删改查的话,可以参考ExtJS API文档进行扩展。
阅读全文