gpt4 book ai didi

javascript - 钛合金 - 无法使用 id 禁用 Tabbedbar 内的标签

转载 作者:行者123 更新时间:2023-11-28 07:07:44 25 4
gpt4 key购买 nike

我有一个 TabbedBar,其中包含标签,其中有 Label,我需要通过编码在 .js 文件中更改其启用属性。我尝试过设置该特定标签的 id 并已使用。 .js 文件中的 $.lblProf.enabled = false;。它的抛出错误:

Undefined is not an object(evaluating '$.lblProf.enabled = false')

演示.xml

<TabbedBar id="tabbedBar" platform="ios" backgroundColor="#369" top="44dp" height="30dp" width="300" index="0" onClick="tabBarClick">
<Labels>
<Label>Details</Label>
<Label>Photos</Label>
<Label>Documents</Label>
<Label id="tabProfile">Profile</Label>
</Labels>
</TabbedBar>

演示.js

$.tabProfile.enabled = true;

如果我尝试直接禁用,即

<Label id="lblProf" enabled="false">

工作正常。

最佳答案

正如 @visola 提到的,您的标签需要一个 ID 才能以编程方式访问它们。否则,Alloy 会给它们一个自动生成的 ID,这通常对人类没有帮助。

xml

<TabbedBar id="tabbedBar" platform="ios" backgroundColor="#369" top="44dp" height="30dp" width="300" index="0" onClick="tabBarClick">
<Labels id='labelsList'>
<Label id='details'>Details</Label>
<Label id='photos'>Photos</Label>
<Label id='documents'>Documents</Label>
<Label id='tabProfile'>Profile</Label>
</Labels>
</TabbedBar>

对于 tabProfile 分配,$ 是页面层次结构中的顶级对象。因此,$.tabProfile 不存在。这就是为什么改变它没有效果。您需要进一步深入到页面 $.TabbedBar.Labels.Label。尽管如此,Label 没有 enabled 属性。因此,您的应用会抛出 undefined 错误。

我会查看 Titanium.UI.iOS.TabbedBar文档以获取更多示例。看来您需要通过更改颜色(例如浅灰色)来模拟禁用它们,然后将 touchEnabled 设置为 false。

希望能帮助您前进。

关于javascript - 钛合金 - 无法使用 id 禁用 Tabbedbar 内的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31566795/

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