我有如下所示的标记。
<ion-item-group>
<ion-item>First</ion-item>
<ion-item>Second</ion-item>
<ion-item>Third</ion-item>
</ion-item-group>
<ion-item-group>
<custom-component></custom-component>
<custom-component></custom-component>
</ion-item-group>
#Custom component markup#
<ion-item>Test<ion-item>
问题在于,对于我的自定义组件中的离子项目,未绘制标准底部边框。因为在dom中它们位于自定义组件内部。如何返回底部边框?
https://stackblitz.com/edit/ionic-7a3ai5?file=app%2Fapp.module.ts。例如,请参阅home组件
答案 0 :(得分:1)
看起来像问题的是这些样式规则:
ion-item-group .item-md .item-wrapper:last-child .item-inner,
ion-item-group .item-md:last-child .item-inner {
border: 0;
}
ion-item-group .item-ios:last-child .item-inner,
ion-item-group .item-wrapper:last-child .item-ios .item-inner {
border: 0;
}
之所以会应用它们,是因为每个custom-component
仅包含一个项目,因此每个项目都是其父项的最后一个子项。
一种解决方法是手动将Ionic默认边框应用于自定义组件中的每个项目(除了最后一个custom-component
中的项目,就像Ionic一样)。
custom-component {
/* ------- */
/* Android */
/* ------- */
/* Add the border to each item */
.item-md.item-block .item-inner,
ion-item-group .item-md .item-wrapper:last-child .item-inner,
ion-item-group .item-md:last-child .item-inner {
border-bottom: 1px solid #dedede;
}
/* Remove the border from the last custom component item */
&:last-child {
.item-md .item-wrapper:last-child .item-inner,
.item-md:last-child .item-inner {
border: 0;
}
}
/* --- */
/* iOS */
/* --- */
/* Add the border to each item */
.item-ios.item-block .item-inner,
ion-item-group .item-ios:last-child .item-inner,
ion-item-group .item-wrapper:last-child .item-ios .item-inner {
border-bottom: .55px solid #c8c7cc;
}
/* Remove the border from the last custom component item */
&:last-child {
.item-ios:last-child .item-inner,
.item-wrapper:last-child .item-ios .item-inner {
border: 0;
}
}
}