当拖动的元素内有Angular Reactive Form元素时,它会在拖动重影中显示更改的值.最终目标上的元素再次显示正确的值.
试试minimum example on StackBlitz: 当您抓住第二个元素(值为"O2"的O2)并拖动它时,重影会在被拖动时将其值更改为"O1".
将表单元素放在可拖动对象中有错吗?如果不是,这是一个错误吗?在ng2-dragula
或更确切地说在(Reactive
)FormsModule
?
我怎么才能解决这个问题呢?
当拖动的元素内有Angular Reactive Form元素时,它会在拖动重影中显示更改的值.最终目标上的元素再次显示正确的值.
试试minimum example on StackBlitz: 当您抓住第二个元素(值为"O2"的O2)并拖动它时,重影会在被拖动时将其值更改为"O1".
将表单元素放在可拖动对象中有错吗?如果不是,这是一个错误吗?在ng2-dragula
或更确切地说在(Reactive
)FormsModule
?
我怎么才能解决这个问题呢?
问题是所选的option
元素必须具有selected
属性.
因此,您可以这样做:
添加元素引用,同时在select
元素上添加更改监听器,然后在更改时,将选定的值赋给一个变量,该变量将通过模板中的attr.selected
设置selected
属性:
试试这个:
<select [formControl]="formControl" (change)="chng($event)" #select>
<option value="O1" [attr.selected]="selected === 'O1' ? '' : null">O1</option>
<option value="O2" [attr.selected]="selected === 'O2' ? '' : null">O2</option>
<option value="O3" [attr.selected]="selected === 'O3' ? '' : null">O3</option>
</select>
@ViewChild('select') select!: ElementRef<HTMLSelectElement>;
selected: string = 'O2';
formControl = new UntypedFormControl('O2');
// set value for selected attribute
chng(event: Event) {
this.selected = (event.target as HTMLOptionElement).value;
}
100