2016-07-08 31 views
5

我有這個奇怪的錯誤,我使用PrimeNG在我的應用程序中顯示DatePicker。當我嘗試使用引導程序的form-control時,出現一個視覺錯誤。從引導應用css類時的PrimeNG日曆錯誤

這裏是我的模板:

<div class="form-group row"> 
    <div class="form-group col-md-2"> 
     <label for="valeur">Valeur</label> 
     <input type="number" id="valeur" class="form-control" /> 
    </div> 

    <div class="form-group col-md-5"> 
     <label for="dateDebut">Date de début</label> 
     <p-calendar id="dateDebut" dateFormat="dd/mm/yy" styleClass="form-control" [showIcon]="true"></p-calendar> 
    </div> 

    <div class="form-group col-md-5"> 
     <label for="dateFin">Date de fin</label> 
     <p-calendar id="dateFin" dateFormat="dd/mm/yy" styleClass="form-control" [showIcon]="true"></p-calendar> 
    </div> 
</div> 

這是結果:

enter image description here

編輯:如果它的任何幫助,這裏是生成的HTML:

<div class="form-group col-md-5" _ngcontent-scp-1=""> 
    <label for="dateDebut" _ngcontent-scp-1="">Date de début</label> 
    <p-calendar ng-reflect-show-icon="true" ng-reflect-date-format="dd/mm/yy" ng-reflect-style-class="form-control" styleclass="form-control" id="dateDebut" dateformat="dd/mm/yy" _ngcontent-scp-1=""> 
     <!--template bindings={ 
     "ng-reflect-ng-if": "true" 
     }--> 
     <span ng-reflect-initial-classes="form-control" class="form-control ui-calendar" ng-reflect-raw-class="ui-calendar"> 
     <input id="dp1467976345328" ng-reflect-value="" class="hasDatepicker ui-inputtext ui-widget ui-state-default ui-corner-left" ng-reflect-raw-class="[object Object]" type="text"><!--template bindings={ 
      "ng-reflect-ng-if": "true" 
      }--><button ng-reflect-icon="fa-calendar" type="button" pbutton="" class="ui-datepicker-trigger ui-button ui-widget ui-state-default ui-corner-all ui-button-icon-only"><span class="ui-button-icon-left ui-c fa fa-fw fa-calendar"></span><span class="ui-button-text ui-c">ui-button</span></button> 
     </span> 
     <!--template bindings={ 
     "ng-reflect-ng-if": "false" 
     }--> 
    </p-calendar> 
</div> 
+0

可能引導的'形式,control'有一個視圖樣式碰撞PrimeNG的輸入/表單佈局? – rinukkusu

+0

我添加了生成的html – Shimrod

+0

它與我在PrimeNG論壇上報告的完全相同的問題http://forum.primefaces.org/viewtopic.php?f=35&t=46579&sid=13c74fc76b0678d9a2440f35866d011c –

回答

4

PrimeNG的日曆組件有四個樣式屬性s,兩個用於添加內聯樣式和兩個用於添加樣式(css)類 - style,styleClass,inputStyleinputStyleClass

  • stylestyleClass被用於設計組件本身(日曆)
  • inputStyleinputStyleClass用於樣式輸入字段

所以,這種行爲是不是一個錯誤,它的預期行爲,因爲你使用錯誤的屬性。如果你想添加form-controlPrimeNG的日曆輸入字段,你應該使用的inputStyleClass代替styleClass屬性:爲PrimeNG屬性

<div class="form-group col-md-5"> 
    <label for="dateFin">Date de fin</label> 
    <p-calendar id="dateFin" dateFormat="dd/mm/yy" inputStyleClass="form-control" [showIcon]="true"></p-calendar> 
</div> 

檢查整個列表的日曆組件here

+0

嗨斯蒂芬。感謝您的支持者。我嘗試過,但不幸它仍然顯示一個錯誤,就像你可以在這裏看到的:http://i.imgur.com/rkjyel0.png我使用的代碼是'

' – Shimrod

+0

@Shimrod我明白了,但那是由另一個問題引起的, '[showIcon] = 「TRUE」'。考慮使用'placeholder'或其他東西來代替它。 –

0

除@Srefan Svrkota的回答。你可以使另一個css類覆蓋窗體控件類的內聯風格。 .showCalenderInline { display:inline!important; }

,並適用於日曆:inputStyleClass = 「形式控制showCalenderInline」

-1

嗨,大家好,也許你可以試試這個。 即時通訊使用這個對我的代碼

添加的styleClassinputStyleClass這樣的:

<p-calendar styleClass="form-control" inputStyleClass="form-control" ></p-calendar>

,並嘗試改變一些CSS,對我來說是這樣的:

.ui-inputtext{ margin:-7px -12px; }

.ui-button, button.ui-button.ui-state-default, .ui-button.ui-state-default{ top:0px; right: -1px; }

.ui-calendar button{ width: 2.5em; }

,其結果是 enter image description here

0
  1. 使用 「inputStyleClass」 屬性設置CSS類

<p-calendar inputStyleClass="form-control"></p-calendar>

  • 如果不使用內聯形式,然後覆蓋 「ui-calendar」 CSS類
  • .ui-calendar { 
        display: block; 
    } 
    
    0

    添加此CSS爲我工作以獲取圖標,並向inputStyleClass屬性添加表單控件。

    .ui-calendar button { 
        right: 0; 
        top: 0; 
    } 
    .ui-calendar { 
        width: 100%; 
    } 
    
    <p-calendar dateFormat="dd/mm/yy" showTime="showTime" hourFormat="24" formControlName="start" [showIcon]="true" inputStyleClass="form-control"></p-calendar> 
    
    3

    我已經使用了以下解決方法,這是在IE &瀏覽器工作正常:

    <p-calendar [inputStyle]="{'width':'55%'}" ... 
    

    試試吧

    +0

    爲我工作。謝謝! – ivanbtrujillo