确定剑道UI控件的类型

问题描述 投票:1回答:1

我有下面的实用函数,它可以工作(很明显,它只能寻找5种类型的控件,但我只用了这个)。

util.getKendoControlType = function(controlId) {
    let controlTypes = ['kendoAutoComplete','kendoMultiSelect','kendoDatePicker','kendoDropDownList','kendoNumericTextBox'];
    for(let i = 0; i < controlTypes.length; i++) {
        let control = $('#' + controlId).data(controlTypes[i]);
        if (typeof(control) !== 'undefined' && control !== null) {
            return controlTypes[i];
        }
    }
    return null;
};

我的问题是:这是获取Kendo UI控件的控件类型的唯一方法,还是有更好的方法?

(注:我知道,我不返回null,也可以抛出一个错误)。

javascript kendo-ui
1个回答
2
投票

Sure! 使用 kendo.widgetInstance:

util.getKendoControlType = function(controlId) {
    return kendo.widgetInstance($(`#${controlId}`)).options.name;
}

你也可以得到 角色 数据属性。

util.getKendoControlType = function(controlId) {
    return $(`#${controlId}`).data('role');
}
© www.soinside.com 2019 - 2024. All rights reserved.