Appearance
useAddToCart
Usage
Provided product
object in the argument should be in a Ref<Product>
type.
vue
<script setup lang="ts">
const { isInCart, quantity, addToCart, getStock } = useAddToCart({ product });
</script>
Definition
Composable to manage adding product to cart
Basic usage
ts
const {
quantity,
getStock,
getAvailableStock,
isInCart,
count,
addToCart
} = useAddToCart(product);
Signature
ts
export function useAddToCart(product: Ref<Product>): UseAddToCartReturn
Parameters
Name | Type | Description |
---|---|---|
product | Ref<Product> |
Return type
See UseAddToCartReturn
ts
export type UseAddToCartReturn = {
/**
* Add to cart method
* @type {function}
*/
addToCart(): Promise<Cart>;
/**
* If you want to add more that 1 product set quantity before invoking `addToCart`
*/
quantity: Ref<number>;
/**
* Returns product count in stock
*/
getStock: ComputedRef<number|undefined>;
/**
* Returns product count in available stock
*/
getAvailableStock: ComputedRef<number | null>;
/**
* Flag if product is already in cart
*/
isInCart: ComputedRef<boolean>;
/**
* count of the product quantity already in the cart
*/
count: ComputedRef<number>;
};
Properties
Name | Type | Description |
---|---|---|
quantity | Ref<number> | If you want to add more that 1 product set quantity before invoking `addToCart` |
getStock | ComputedRef<number | undefined> | Returns product count in stock |
getAvailableStock | ComputedRef<number | null> | Returns product count in available stock |
isInCart | ComputedRef<boolean> | Flag if product is already in cart |
count | ComputedRef<number> | count of the product quantity already in the cart |
Methods
Name | Type | Description |
---|---|---|
addToCart | Promise<Cart> | Add to cart method |