2017-07-18 114 views
0

我想通過擴展BaseInput來在ionic2中創建自定義窗體輸入組件。但它沒有渲染,我無法在DOM上找到它。如何通過在ionic2中擴展BaseInput來創建自定義窗體組件

import { Component, ElementRef, OnDestroy, Optional, Renderer, 
ViewEncapsulation } from "@angular/core"; 
import { Config, Form, Item } from "ionic-angular"; 
import { BaseInput } from "ionic-angular/util/base-input"; 
import { NG_VALUE_ACCESSOR } from "@angular/forms"; 

@Component({ 
    selector: 'my-checkbox', 
    template: 
    '<p>aaaaa</p>', 
    host: { 
    '[class.checkbox-disabled]': '_disabled' 
    }, 
    providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: MyCheckboxComponent, multi: true } ], 
    encapsulation: ViewEncapsulation.None, 
}) 
export class MyCheckboxComponent extends BaseInput<any> implements OnDestroy { 

    constructor(form: Form, config: Config, elementRef: ElementRef, renderer: Renderer, @Optional() item: Item) { 
    super(config, elementRef, renderer, 'my-checkbox', [], form, item, null); 
    } 

} 

該代碼是從src/component/checkbox/checkbox.ts複製並做一些修改。

回答

0

我有同樣的問題。我的組件在<ion-item>父元素中沒有得到渲染。我通過加入item-content指令來修復它

<ion-item> <ion-label>Label</ion-label> <my-checkbox item-content></my-checkbox> </ion-item>

相關問題