使用 javascript 在 Nativescript 中创建复选框的最佳方法是什么?
我知道如果我使用复选框,它仅适用于 Android,并且我的开关有问题。所以我想使用图像来重现一个复选框。
我有这个 XML
<ListView items="{{ whishList }}">
<ListView.itemTemplate>
<GridLayout class="listes" columns="auto,*,30">
<Image id="id_check" src="res://selectoff" tap="CheckList"/>
<Label id="id_wishlist" text="{{ id_wishlist }}"/>
</GridLayout>
</ListView.itemTemplate>
</ListView>
如果我点击图像,我想更改项目的图像。使用 JS,我需要更改图像,但这只会更改最后一项:
exports.CheckList = function(args){var customControl = args.object;
customControl.bindingContext = whishList;
var checkID = customControl.parent.parent.getViewById("id_check");
checkID.src ="res://selecton";
}
我的解决方案如下
var customControl = args.object;
var checkID = customControl.parent.getViewById("id_check");
checkID.src ="res://checkon";
OP 的解决方案。
@Brad Martin 描述的复选框插件 github.com/bradmartin/nativescript-checkbox 工作,问题出在 itemtap 中,如果这是在其他组件的列表视图中。
例如:如果我们希望每个元素的itemTap,则无法选中复选框,则将解决方案设置为可聚焦为false。
exports.CheckLoaded=function(args) {
// This is only an issue in Android
if (app.android) {
var ChBox= args.object;
ChBox.android.setFocusable(false);
}
}