gpt4 book ai didi

javascript - findItemByText 在 typescript 中未定义

转载 作者:行者123 更新时间:2023-12-03 09:39:34 25 4
gpt4 key购买 nike

我在 js 中编写了一个函数,用于启用/禁用 telerik RibbonBar 的元素。当我尝试用 typescript 再次编写它时,调用函数“findItemByText”时出现错误。

///enable / disable elements in the ribbonbar. example (true/false , "RadRibbonBar1", "");
function enableRibbonElement(enbaled_state_bool, ribbonbar_id, elements) {
var rb = $find(ribbonbar_id);
for (var i in elements)
rb. findItemByText (elements[i]).set_enabled(enbaled_state_bool);
}

最佳答案

问题不在于调用未定义的函数 (findItemByText),但转换到正确的 Telerik 元素。

首先我们必须包含一个 Telerik 定义文件 (Telerik.Web.UI.d.ts),然后我们需要转换该元素。我们可以通过不同的方式来做到这一点:

<强>1。声明元素时强制转换

/** enable / disable elements in the ribbonbar. example (true/false , "RadRibbonBar1", "");  */
function enableRibbonElement1(enbaled_state_bool, ribbonbar_id, elements) {
var rb: Telerik.Web.UI.RadRibbonBar = <any> $find(ribbonbar_id);
for (var i in elements)
rb.findItemByText(elements[i]).set_enabled(enbaled_state_bool);
}

<强>2。在处理元素时将其强制转换为“any”

function enableRibbonElement1(enbaled_state_bool, ribbonbar_id, elements) {
var rb = $find(ribbonbar_id);
for (var i in elements)
(<any>rb).findItemByText(elements[i]).set_enabled(enbaled_state_bool);
}

<强>3。声明时:避免从其他类型(数字、字符串)进行转换(感谢 zlumer):

/** enable / disable elements in the ribbonbar. example (true/false , "RadRibbonBar1", "");  */
function enableRibbonElement1(enbaled_state_bool, ribbonbar_id, elements) {
var rb = <Telerik.Web.UI.RadRibbonBar>$find(ribbonbar_id);
for (var i in elements)
rb.findItemByText(elements[i]).set_enabled(enbaled_state_bool);
}

关于javascript - findItemByText 在 typescript 中未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31228613/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com