首页 文章

Ionic 3指令不适用于ionic2-autosize

提问于
浏览
2

我正在使用Ionic,并且有一个ion-textarea我想自动调整大小,即随着用户添加更多文本而扩展 . 我找到ionic2-autosize,这是 directive . 但是,我似乎无法使 directive 对我的ion-textarea产生任何影响,即它不会随着用户添加更多文本而扩展 .

我跑:

npm install --save ionic2-autosize

package.json

"ionic2-autosize": "^1.1.1",

app.module.ts

import {Autosize} from 'ionic2-autosize';

@NgModule({
  declarations: [
    MyApp, Autosize
  ],
...

review.ts

<ion-textarea autosize [(ngModel)]="ratingModel.review" formControlName="review" id="review"></ion-textarea>

如您所见,我将 autosize 属性添加到 ion-textarea ,但这没有任何效果,它的行为类似于常规 ion-textarea ,只有2行的高度 . 我希望高度能够动态扩展 .

任何帮助赞赏 .

More info:

global packages:

    @ionic/cli-utils : 1.1.2
    Cordova CLI      : 6.4.0 
    Ionic CLI        : 3.1.2

local packages:

    @ionic/app-scripts              : 1.3.0
    @ionic/cli-plugin-cordova       : 1.1.2
    @ionic/cli-plugin-ionic-angular : 1.1.2
    Ionic Framework                 : ionic-angular 3.2.1

System:

    Node       : v7.10.0
    OS         : macOS Sierra
    Xcode      : Xcode 8.3.2 Build version 8E2002 
    ios-deploy : not installed
    ios-sim    : not installed

UPDATE

我将 AutosizeModule 添加到我的模块中:

review.module.ts

import {AutosizeModule} from 'ionic2-autosize';

@NgModule({
  declarations: [ReviewPage],
  imports: [IonicPageModule.forChild(ReviewPage), ControlMessagesModule, RatingComponentUpdateableModule, AutosizeModule],
  exports: [ReviewPage]
})
export class ReviewPageModule { }

但得到这个错误:

错误错误:未捕获(在承诺中):错误:类型自动调整大小是2个模块的声明的一部分:AppModule和AutosizeModule!请考虑将Autosize移动到导入AppModule和AutosizeModule的更高模块 . 您还可以创建一个新的NgModule,它导出并包含Autosize,然后在AppModule和AutosizeModule中导入NgModule .

UPDATE

我从 app.module.ts 中删除了它,似乎修复了上述错误 . 但是,现在我得到:

错误错误:未捕获(在承诺中):错误:已加载BrowserModule . 如果需要从延迟加载的模块访问常用指令(如NgIf和NgFor),请改为导入CommonModule . 错误:已加载BrowserModule . 如果需要从延迟加载的模块访问常用指令(如NgIf和NgFor),请改为导入CommonModule .

UPDATE

而是用 CommonModule

review.module.ts

//import {AutosizeModule} from 'ionic2-autosize';
import { CommonModule } from '@angular/common';

@NgModule({
  declarations: [ReviewPage],
  imports: [IonicPageModule.forChild(ReviewPage), ControlMessagesModule, RatingComponentUpdateableModule, CommonModule],
  exports: [ReviewPage]
})
export class ReviewPageModule { }

app.module.ts

import { AutosizeModule } from 'ionic2-autosize';
...
@NgModule({
  declarations: [
    MyApp
  ],
  imports: [
    IonicModule.forRoot(MyApp),
    BrowserModule,
    AutosizeModule,
    HttpModule,
    AngularFireModule.initializeApp(firebaseConfig),
    IonicStorageModule.forRoot()
  ],

错误消失了,但 ion-textarea 仍然没有自动调整大小 .

1 回答

相关问题