我有这个HTML:
<mat-radio-group>
<mat-radio-button [(ngModel)]="searchType">
And (Narrower search)
</mat-radio-button>
<mat-radio-button [(ngModel)]="searchType">
Or (Wider search)
</mat-radio-button>
</mat-radio-group>
我收到此错误:
错误:没有带有未指定名称的表单控件的值访问器 属性
我尝试使用此代码:
<mat-radio-button name="search-and"[(ngModel)]="searchType">
And (Narrower search)
</mat-radio-button>
我收到此错误:
错误:没有名称的表单控件的值访问器: '搜索和'
所以我试过这个:
<mat-radio-button value="search-and" name="search-and" [(ngModel)]="searchType">
And (Narrower search)
</mat-radio-button>
和此:
<mat-radio-button [value]="search-and" name="search-and" [(ngModel)]="searchType">
And (Narrower search)
</mat-radio-button>
我仍然收到此错误:
错误:没有名称为'search-and'
的表单控件的值访问器
答案 0 :(得分:0)
我的坏人,public class OffersRecyclerViewAdapter extends RecyclerView.Adapter<OffersRecyclerViewAdapter.ViewHolder> {
private List<OffersModel> offersList;
private Context context;
private int lastSelectedPosition = -1;
public OffersRecyclerViewAdapter(List<OffersModel> offersListIn, Context ctx) {
offersList = offersListIn;
context = ctx;
}
@Override
public OffersRecyclerViewAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.offer_item, parent, false);
OffersRecyclerViewAdapter.ViewHolder viewHolder =
new OffersRecyclerViewAdapter.ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(OffersRecyclerViewAdapter.ViewHolder holder, int position) {
//since only one radio button is allowed to be selected,
// this condition un-checks previous selections
holder.selectionState.setChecked(lastSelectedPosition == position);
}
@Override
public int getItemCount() {
return offersList.size();
}
public class ViewHolder extends RecyclerView.ViewHolder {
public RadioButton selectionState;
public ViewHolder(View view) {
super(view);
selectionState = (RadioButton) view.findViewById(R.id.offer_select);
selectionState.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
lastSelectedPosition = getAdapterPosition();
notifyDataSetChanged();
}
});
}
}
}
属于父级:
ngModel
现在一切正常,没有错误,不确定是否使用 <mat-radio-group fxLayout="column" [(ngModel)]="searchType" (change)="onSearchTypeChange()">
<mat-radio-button value="search-and" name="search-and">
And (Narrower search)
</mat-radio-button>
<mat-radio-button value="search-or" name="search-or">
Or (Wider search)
</mat-radio-button>
</mat-radio-group>
或[value]
。
答案 1 :(得分:0)
尝试在formControlName="SearchType"
而非<mat-radio-group>
上设置<mat-radio-button>
。