【问题标题】:Conditional option selection from event on angular x从角度 x 上的事件中选择条件选项
【发布时间】:2019-01-03 06:33:45
【问题描述】:

我有一个选择列表,我想在用户单击一个选项(选项)后启动一个操作(事件)。

我在 Select 元素上使用了(更改)事件,它可以工作,但它更新了所选项目。没有可以通过单击选项启动的事件吗?

我想要的操作是如果用户点击一个选项我做一个测试如果它是真的我允许他选择这个项目,否则他会停留在当前。

当前代码:

<select id="myselect" (change)="verifyData($event.target.value)" formControlName="myElement">
                <option *ngFor="let items of items" [value]="item.name">{{ item.name }}</option>
            </select>

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    已编辑

    如果某些逻辑满足您的需求,您可以订阅表单控件的值更改并将其设置回以前的值。这应该有效:

    ngOnInit(item) {
        this.oldValue = this.form.value.myElement;
        this.form.get('myElement').valueChanges.subscribe((a) => {
        if (a == 3) {
          this.form.get('myElement').setValue(this.oldValue, { emitEvent: false });
        } else {
          this.oldValue = a;
        }
      });
    }
    

    这是一个关于 stackblitz 的工作示例的链接 https://stackblitz.com/edit/angular-conditional-select-change?file=src%2Fapp%2Fapp.component.ts

    【讨论】:

    • 在角度事件点击在选项元素中不起作用,您可以测试它!它不起作用!
    • 我的错误,我完全编辑了答案并添加了一个工作示例。我还建议更改问题标题。希望它会有所帮助:)
    • 谢谢,我会为我的用例尝试这个方法:)
    猜你喜欢
    • 2013-09-18
    • 2015-03-22
    • 2013-09-07
    • 2015-05-28
    • 1970-01-01
    • 2012-10-19
    • 2023-02-10
    • 2018-01-10
    • 2020-08-25
    相关资源
    最近更新 更多