Возможно, это поможет вам.
public class CartLine
{
public int CartLineId { get; set; }
public int ProductId { get; set; }
public int Quantity { get; set; }
}
public class ShoppingCart : List<CartLine>
{
public ShoppingCart()
{
}
}
public class ShoppingCartRepository
{
private ShoppingCart ShoppingCart = new ShoppingCart();
public IEnumerable GetShoppingCart()
{
return ShoppingCart.ToList();
}
public virtual void AddItem(int productid, int quantity)
{
ShoppingCart.Add(new CartLine
{
ProductId = productid,
Quantity = quantity
});
}
public virtual void RemoveItem(int cartlineid)
{
ShoppingCart.RemoveAll(l => l.CartLineId == cartlineid);
}
}
Я меняю класс, чтобы сделать его общим. Проблема, я думаю, заключается в том, что вы делаете свой общий список ShoppingCart
, но вы хотите добавить CartLine
.
Надеюсь, это поможет вам.
Если я правильно понял вашу проблему, она «ломает» ваш код flexbox из-за поля фильтра в файле this.item.map
Как вы определяете разницу между предметом, коробка фильтра и предмет, который должен быть гибким? Не могли бы вы привести наглядный пример того, чего вы пытаетесь достичь?
Поскольку вы указываете, что проблема вызвана тем фактом, что React требует вернуть только один элемент, возможно, вы могли бы заключить эти элементы в <React.Fragment>
вместо div. Обратите внимание, что для этого требуется React v16.2 или выше. Таким образом, ваш код будет выглядеть следующим образом:
render() {
return (
<div className='view-content'>
{this.items.map((item, index) => {
return (
<React.Fragment key={index}>
<div className='filterbox'>
<div>{item.filter}</div>
</div>
<div className='flex-item'}>
<div>{item.flex-item}</div>
</div>
</React.Fragment>
)
})}
</div>
);
}
Таким образом, он удовлетворяет требованию иметь только один элемент, возвращаемый в JSX, и в окончательной разметке фрагмент не добавляется как фактический узел DOM. [ 114]