как использовать несколько шаблонов элементов nativescript в чистом виде javascript - PullRequest
0 голосов
/ 04 апреля 2020

Я пытаюсь реализовать несколько шаблонов элементов для разных данных. my xml выглядит так

<lv:RadListView row="1" items="{{ list_data }}"
                itemTemplateSelector="{{ templateSelector }}">

                <lv:RadListView.itemTemplate>
                    <GridLayout rows="*,*" columns="*,auto" margin="15">
                        <Label row="0" col="0" text="{{ name }}"
                            textWrap="true" />
                        <Label row="1" col="0" text="{{ age }}"
                            textWrap="true" />
                        <Label rowSpan="2" col="1" text="{{ duration }}"
                            textWrap="true" />
                    </GridLayout>
                </lv:RadListView.itemTemplate>

                <lv:RadListView.itemTemplates>
                    <template key="break">
                        <GridLayout rows="*" columns="*,auto" margin="15"
                            backgroundColor="green">
                            <Label row="0" col="0" text="break"
                                textWrap="true" />
                            <Label rowSpan="2" col="1" text="{{ duration }}"
                                textWrap="true" />
                        </GridLayout>
                    </template>
                </lv:RadListView.itemTemplates>

            </lv:RadListView>

на viewmodel

 var count = 1;
  var viewModel = observableModule.fromObject({
    list_data: [{ template: "default", name: "crunches", age: "X 30", duration: "45 sec" },
    { template: "break" },
    { template: "default", name: "situp", age: "X 30", duration: "45 sec" },
    { template: "break" },
    { template: "default", name: "jumpingjack", age: "X 30", duration: "45 sec" },
    ],

    templateSelector: function name(args) {
      console.log(count++)
      return "break";
    },

, здесь templateSelector вызывается 20 раз. Я не знаю, как это работает. Мне нужно изменить шаблон на основе шаблона в list_data.

это полная ссылка проекта https://play.nativescript.org/?template=play-js&id=cPzCkf

...