Nativescript(ios和Android)中的复选框



使用 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);
    }
}

最新更新