Nativescript中的CheckBox(ios和Android)

时间:2017-03-20 16:36:31

标签: javascript listview nativescript

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

2 个答案:

答案 0 :(得分:0)

我的解决方案如下

var customControl = args.object;
var checkID = customControl.parent.getViewById("id_check");
checkID.src ="res://checkon";

答案 1 :(得分:0)

OP解决方案。

@Brad Martin XY problem描述的复选框插件有效,问题出现在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);
    }
}