我在表单中显示单选按钮的自定义视图,并使用属性标签切换它。Ionic2 本身消除了锚点和按钮上的 300 毫秒延迟,但我并不知道如何删除它以点击标签。
如何在标签单击上消除此延迟或以不同的方式实现此延迟,以便我可以切换收音机?
<input type="radio" id="{{input.key}}.{{i}}" name="{{input.key}}"
(change)="radioSelectionChanged(subinput,input)"
[checked]="subinput.selected">
<label *ngIf="!macroCodeProvider.isEqualType(input.type,configInputType.Select)"
class=""
for="{{input.key}}.{{i}}">
{{subinput.label}}
</label>
我只添加这个答案,以防万一这可以帮助其他一些 SO 用户。就像您在文档中看到的那样
[...],您可能需要向不是 通常可点击。执行此操作时,您可能会遇到 300 毫秒的延迟 从单击元素到触发事件。要删除 此延迟,您可以将 tapable 属性添加到您的元素。
<div tappable (click)="doClick()">I am clickable!</div>
因此,通过将 tappable
属性(和 click 事件(添加到目标元素,可以消除 300 毫秒的延迟。
我只是用一个按钮替换了标签,单击该按钮调用以下函数:
radioSelectionChanged(selectedInput: ConfiguratorRadioGroupInput, radioGroup: ConfiguratorRadioGroup) {
radioGroup.inputs.map(input => {
input.selected = (input.key == selectedInput.key);
});
console.log(selectedInput);
}