2016-04-10 28 views
3

Projemde ng-etiket girişi kullanmak istiyorum.ngTagsInput'ta etiketlerin renklendirilmesi nasıl ayarlanır?

Dizideki color özelliği nesnesine göre her etiket için farklı renk ayarlamayı denerim.

İşte ben plunker üzerinde çalışıyorum.

Bu amaçla ng giriş şablonunda etiket öğesi css sınıfını geçersiz kılmam gerekiyor. Ben olsun

<div class="tags-input" ng-style="{background: data.color}"> 

Ve burada sonucudur: Etiketlerin giriş css sınıfını geçersiz kılmak için deneyin bu satırdaki

<script type="text/ng-template" id="tag-template"> 
     <div class="tags-input" ng-style="{background: data.color}"> 

     <span>{{$getDisplayText()}}</span> 
     <a class="remove-button" ng-click="$removeTag()">&#10006;</a> 
    </div> 

: Burada

ng giriş şablonunun örneğidir

Eğer renkli değil sağ ve sol kenarlarında görebileceğiniz gibi

enter image description here

.

Neyi yanlış yaptığım hakkında bir fikrin var mı? Etiketler-giriş css sınıfa nasıl yazılır?

+1

Bu kitaplığı daha önce hiç kullanmadım, ancak örnekleri ve her şeyi içeren, kılavuzlar için özel bir şablonun nasıl kullanılacağını gösteren bir kılavuza sahip: http://mbenford.github.io/ngTagsInput/documentation/guides/custom -templates –

+0

@JBNizet, belgeleri reddettim ama sorunumu orada bulamadım. – Michael

+0

Sadece size verdiğim bağlantıyı tıklayın. Etiket nesnesindeki verilere dayanarak etikette bir işaretin nasıl görüntüleneceğini gösterir. Etiket nesnesindeki verilere dayalı bir renk ayarlamak istersiniz. Bu gerçekten aynı problem. HTML şablonunun sadece farklı bir şekilde uyarlanması gerekiyor. –

cevap

2

İşaretlemeye bakarsanız, arka plan renk stilinizi uygulayacağınız .tags-input div'in 5px'lik bir dik ve sağ dolguya sahip bir li öğesinin içine gömüldüğünü görürsünüz. Bu nedenle, düğmenin tam genişliğinde renk uygulanmaz.

Yani, hiçbir dolgusunun olması li için sırayla sonra ng-etiketler-giriş stil kendi stil uygulamak ve bazı CSS kuralları geçersiz kılmak için emin ve arka plan rengi ile div var yapmak bir yerine padding:

/* override default tag styles for colors to look less ugly */ 
tags-input .tags .tag-item { 
    padding: 0; 
    height: 27px; 
} 

.tags-input { 
    padding: 0 5px; 
    border-radius: 2px; 
} 

İşte bunun gerçekleşmesi için your plunkr modified bu.

İlgili konular