Нет простого способа реализовать это непосредственно в Primeng. Но вы должны сделать трюк для этого. Возможно, это будет не лучшим решением, но оно послужит вашей цели. Это только обходной путь.
Возьмем для примера кнопку радио Primeng.
Я добавил пользовательский класс customeRadio в html, а также добавил тег <a>
в том же качестве, что и значение параметра.
<div class="ui-g-12 customeRadio">
<p-radioButton name="group1" value="Option 1" label="Option 1" [(ngModel)]="val1" inputId="opt1">
</p-radioButton><a href="">Option 1</a>
</div>
<div class="ui-g-12 customeRadio">
<p-radioButton name="group1" value="Option 2" label="Option 2" [(ngModel)]="val1" inputId="opt2">
</p-radioButton><a href="">Option 2</a>
</div>
<div class="ui-g-12 customeRadio">
<p-radioButton name="group1" value="Option 3" label="Option 3" [(ngModel)]="val1" inputId="opt3">
</p-radioButton><a href="">Option 2</a>
</div>
Теперь в файле styles.css или в том месте, где вы хотите написать CSS для него.
Просто скрыть все содержимое метки, используя свойство селектора css:
.customeRadio label{
display:none;
}
Вот и все!
Выравнивание.
Ваш компилятор собирается выровнять переменные способом, который имеет смысл для Вашей архитектуры. В Вашем случае, char
, int
, и bool
различные размеры, таким образом, это пойдет той информацией, а не Вашими подсказками битового поля.
Было некоторое обсуждение в этом вопросе по вопросу.
Решение состоит в том, чтобы дать #pragma
директивы или __attributes__
к Вашему компилятору, чтобы дать этому команду игнорировать оптимизацию выравнивания.
В стандарте C (версия 1999 года, §6.7.2.1, страница 102, указывают 10) говорится это:
Реализация может выделить любое адресуемое устройство хранения данных, достаточно большое для содержания битового поля. Если достаточно пространства останется, то битовое поле, которое сразу следует за другим битовым полем в структуре, должно быть упаковано в смежные биты той же единицы.
Кажется, нет никакой формулировки, чтобы позволить упаковке быть затронутой типами полей. Таким образом я пришел бы к заключению, что это - ошибка компилятора.
gcc делает 4-байтовую структуру в любом случае, и на 32-разрядном и на 64-разрядной машине, в соответствии с Linux. Я не имею VS и не могу протестировать это.