【发布时间】:2018-04-02 21:31:23
【问题描述】:
我正在尝试在我的应用中创建常见问题解答类型的屏幕,但是当有人点击该项目时,我找不到显示问题和折叠答案的方法。 我已经尝试使用 RadDataForm Groups 并且能够进行折叠,但我无法调整屏幕和元素的大小,所以现在正在尝试使用 Accordion。 我仍然无法崩溃甚至显示问题。我在这里看到有人说他们能够在没有 Accordion 的情况下使用折叠和可见属性使列表工作,但他们没有分享他们是如何做到的。 当我单击列表中的名称时,没有任何反应。我想为这个问题找到一个简单有效的解决方案。 我的代码:
<Accordion [items]="myQuestions" itemTapped="tapped" headerTextBold="true" headerTextColor="white" headerColor="pink" headerTextColor="blue"
allowMultiple="true">
<ng-template accordionHeaderTemplate let-item="item" let-i="index">
<GridLayout backgroundColor="blue" columns="auto,*">
<Label [text]="item.question"></Label>
</GridLayout>
</ng-template>
<ng-template accordionItemTemplate let-item="item" let-parent="parentIndex" let-even="even" let-child="childIndex">
<StackLayout>
<Label [text]="item.description"></Label>
</StackLayout>
</ng-template>
<!-- IOS Only
<ng-template accordionFooterTemplate let-item="item" let-i="index">
<GridLayout backgroundColor="yellow" columns="auto,*">
<Label [text]="hi"></Label>
<Label col="1" text="-"></Label>
</GridLayout>
</ng-template> -->
</Accordion>
组件:
import { Component, OnInit, ViewChild} from "@angular/core";
import { Router } from "@angular/router";
import { Question } from "../../shared/question/question";
import { Observable } from "tns-core-modules/data/observable";
import { ObservableArray } from "tns-core-modules/data/observable-array";
// import { RadDataFormComponent } from "nativescript-ui-dataform/angular";
@Component({
selector: "question",
moduleId: module.id,
templateUrl: "./question.html",
styleUrls: ["./question-common.css", "./question.css"]
})
export class QuestionComponent extends Observable{
public myQuestions: ObservableArray<any>;
// @ViewChild('myRuntimeDataFormComp') myRuntimeDataFormComp: RadDataFormComponent;
constructor(){
super();
this.myQuestions =new ObservableArray([
new Question("Topic 1", "lorem ipsum lorem ipsum lorem ipsum"),
new Question("Topic 2", "lorem ipsum lorem ipsum lorem ipsum"),
new Question("Topic 3", "lorem ipsum lorem ipsum lorem ipsum"),
new Question("Topic 4", "lorem ipsum lorem ipsum lorem ipsum"),
new Question("Topic 5", "lorem ipsum lorem ipsum lorem ipsum"),
new Question("Topic 6", "lorem ipsum lorem ipsum lorem ipsum")
]);
}
}
我的屏幕:
【问题讨论】:
-
不幸的是,我的解决方案只适用于 ios。我正在寻找一个跨平台的解决方案,一旦我有了它就会在这里发布。
标签: angular nativescript