extjs tree下拉列表_Ext5实现树形下拉框ComboBoxTree

该博客介绍了一个使用ExtJS实现的树形下拉框组件ComboBoxTree,包括其配置选项如multiSelect、multiCascade、rootVisible等,并展示了如何设置默认值、初始化组件以及处理节点选择和多选功能。该组件适用于需要展示层级结构数据的下拉选择场景。
摘要由CSDN通过智能技术生成

Ext.define('Ext.ux.ComboBoxTree', {

extend: 'Ext.form.field.Picker',

requires: ['Ext.tree.Panel'],

alias: ['widget.comboboxtree'],

multiSelect: false,

multiCascade: true,

rootVisible: false,

displayField: 'text',

emptyText: '',

submitValue: '',

url: '',

pathValue: '',

defaultValue: null,

pathArray: [],

selectNodeModel: 'all',

maxHeight: 400,

setValue: function (value) {

if (value) {//注意:此处的判断会使id为0的值选中失效

if (typeof value == 'number') {

this.defaultValue = value;

}

this.callParent(arguments);

}

},

initComponent: function () {

var self = this;

self.selectNodeModel = Ext.isEmpty(self.selectNodeModel) ? 'all' : self.selectNodeModel;

Ext.apply(self, {

fieldLabel: self.fieldLabel,

labelWidth: self.labelWidth

});

self.store = Ext.create('Ext.data.TreeStore', {

root: { expanded: true },

proxy: { type: 'ajax', url: self.url },

autoLoad: true

});

self.store.addListener('load', function (st, rds, opts) {

if (self.defaultValue) {

var defaultRecord = self.store.getNodeById(self.defaultValue);

self.setDefaultValue(defaultRecord.get('id'), defaultRecord.get(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值