首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Primeng RadioButton标签

问Primeng RadioButton标签
EN

Stack Overflow用户
提问于 2020-12-19 10:41:45
回答 1查看 1.4K关注 0票数 1

我才刚开始学习Primeng。我正在处理单选按钮,并使用label属性显示标签。当我在任何有限制长度和宽度的组件中使用这个单选按钮时,长度较长的标签会出现在单选按钮下面,破坏外观和感觉。以下是守则:

代码语言:javascript
复制
<h5>Basic</h5>
<div class="p-field-radiobutton">
    <p-radioButton name="city" label="City(Label with lots of words)" inputId="city1"></p-radioButton>
</div>

因此,我尝试了另一种方法,我使用了标签标签,并尝试了以下内容:

component.html

代码语言:javascript
复制
<h5>Basic</h5>
<div class="p-field-radiobutton">
    <p-radioButton #labelClicked name="city" inputId="city1"></p-radioButton>
    <label (click)="onlabelClick()">
    City(Lots of words)
  </label>
</div>

component.ts

代码语言:javascript
复制
import { Component, ViewChild } from '@angular/core';
import { RadioButton } from 'primeng/radiobutton'

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html'
})
export class AppComponent { 
  @ViewChild("labelClicked") labelClicked : RadioButton
    onlabelClick(){
      this.labelClicked.onClick.emit();
//tried this also
       this.labelClicked.checked;
        }
    }

现在CSS和外观就像预期的一样,但是当我点击标签时,单选按钮不会变成“选中的”。

我希望无论何时我点击radioButton或标签,在这两种情况下,单选按钮都应该处于选中状态,并且CSS也应该和预期的一样。

我希望我能解释一下这种情况。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2020-12-19 14:36:48

有几种方法可以累积同步标签,点击收音机组件。

  • 为属性使用label ,因此需要为radioButton

设置inputId属性。

代码语言:javascript
复制
<div class="p-field-radiobutton">
    <p-radioButton name="city" value="Chicago" [(ngModel)]="city" inputId="city1">
    </p-radioButton>
    <label for="city1">Chicago</label>
</div>
<div class="p-field-radiobutton">
  <p-radioButton name="city" value="Los Angeles" [(ngModel)]="city"inputId="city2">
  </p-radioButton>
 <label for="city2">Los Angeles</label>
</div>

  • 触发radioButton组件

的选择方法

代码语言:javascript
复制
<p-radioButton name="city" value="Istanbul" [(ngModel)]="city" #elm></p-radioButton>
<label  (click)="elm.select()">Istanbul</label>

即使在您的问题中,

也只是触发select方法

  • 设置控件状态,以防出现反应性窗体或模板窗体,这将更新组件检查状态

。

代码语言:javascript
复制
<div class="p-field-radiobutton">
    <p-radioButton name="city" value="Earth" [(ngModel)]="city"></p-radioButton>
    <label  (click)="city = 'Earth'">Istanbul</label>
</div>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65368921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档