Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress
Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress

Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress

$47.99 $79.99
Save $32.00
const TAG = "spz-custom-product-automatic"; class SpzCustomProductAutomatic extends SPZ.BaseElement { constructor(element) { super(element); this.variant_id = 'dd2e8047-a791-42b0-812c-a65b9cf76dce'; this.isRTL = SPZ.win.document.dir === 'rtl'; this.isAddingToCart_ = false; // 加购中状态 } static deferredMount() { return false; } buildCallback() { this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); this.setupAction_(); this.viewport_ = this.getViewport(); } mountCallback() { this.init(); // 监听事件 this.bindEvent_(); } async init() { this.handleFitTheme(); const data = await this.getDiscountList(); this.renderApiData_(data); } async getDiscountList() { const productId = '20dce39c-525f-4a4a-9b40-9e82e30e8b34'; const variantId = this.variant_id; const productType = 'default'; const reqBody = { product_id: productId, variant_id: variantId, discount_method: "DM_AUTOMATIC", customer: { customer_id: window.C_SETTINGS.customer.customer_id, email: window.C_SETTINGS.customer.customer_email }, product_type: productType } const url = `/api/storefront/promotion/display_setting/text/list`; const data = await this.xhr_.fetchJson(url, { method: "post", body: reqBody }).then(res => { return res; }).catch(err => { this.setContainerDisabled(false); }) return data; } async renderDiscountList() { this.setContainerDisabled(true); const data = await this.getDiscountList(); this.setContainerDisabled(false); // 重新渲染 抖动问题处理 this.renderApiData_(data); } clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } async renderApiData_(data) { const parentDiv = document.querySelector('.automatic_discount_container'); const newTplDom = await this.getRenderTemplate(data); if (parentDiv) { parentDiv.innerHTML = ''; parentDiv.appendChild(newTplDom); } else { console.log('automatic_discount_container is null'); } } doRender_(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); this.element.appendChild(el); }); } async getRenderTemplate(data) { const renderData = data || {}; return this.templates_ .findAndRenderTemplate(this.element, { ...renderData, isRTL: this.isRTL }) .then((el) => { this.clearDom(); return el; }); } setContainerDisabled(isDisable) { const automaticDiscountEl = document.querySelector('.automatic_discount_container_outer'); if(isDisable) { automaticDiscountEl.setAttribute('disabled', ''); } else { automaticDiscountEl.removeAttribute('disabled'); } } // 绑定事件 bindEvent_() { window.addEventListener('click', (e) => { let containerNodes = document.querySelectorAll(".automatic-container .panel"); let bool; Array.from(containerNodes).forEach((node) => { if(node.contains(e.target)){ bool = true; } }) // 是否popover面板点击范围 if (bool) { return; } if(e.target.classList.contains('drowdown-icon') || e.target.parentNode.classList.contains('drowdown-icon')){ return; } const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { node.classList.remove('open-dropdown'); }) // 兼容主题 this.toggleProductSticky(true); }) // 监听变体变化 document.addEventListener('dj.variantChange', async(event) => { // 重新渲染 const variant = event.detail.selected; if (variant.product_id == '20dce39c-525f-4a4a-9b40-9e82e30e8b34' && variant.id != this.variant_id) { this.variant_id = variant.id; this.renderDiscountList(); } }); } // 兼容主题 handleFitTheme() { // top 属性影响抖动 let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ productInfoEl.classList.add('force-top-auto'); } } // 兼容 wind/flash /hero 主题 (sticky属性影响 popover 层级展示, 会被其他元素覆盖) toggleProductSticky(isSticky) { let productInfoEl = null; if (window.SHOPLAZZA.theme.merchant_theme_name === 'Wind' || window.SHOPLAZZA.theme.merchant_theme_name === 'Flash') { productInfoEl = document.querySelector('.product-info-body .product-sticky-container'); } else if (window.SHOPLAZZA.theme.merchant_theme_name === 'Hero') { productInfoEl = document.querySelector('.product__info-wrapper .properties-content'); } if(productInfoEl){ if(isSticky) { // 还原该主题原有的sticky属性值 productInfoEl.classList.remove('force-position-static'); return; } productInfoEl.classList.toggle('force-position-static'); } } setupAction_() { this.registerAction('handleDropdown', (invocation) => { const discount_id = invocation.args.discount_id; const nodes = document.querySelectorAll('.automatic-container'); Array.from(nodes).forEach((node) => { if(node.getAttribute('id') != `automatic-${discount_id}`) { node.classList.remove('open-dropdown'); } }) const $discount_item = document.querySelector(`#automatic-${discount_id}`); $discount_item && $discount_item.classList.toggle('open-dropdown'); // 兼容主题 this.toggleProductSticky(); }); // 加购事件 this.registerAction('handleAddToCart', (invocation) => { // 阻止事件冒泡 const event = invocation.event; if (event) { event.stopPropagation(); event.preventDefault(); } // 如果正在加购中,直接返回 if (this.isAddingToCart_) { return; } const quantity = invocation.args.quantity || 1; this.addToCart(quantity); }); } // 加购方法 async addToCart(quantity) { // 设置加购中状态 this.isAddingToCart_ = true; const productId = '20dce39c-525f-4a4a-9b40-9e82e30e8b34'; const variantId = this.variant_id; const url = '/api/cart'; const reqBody = { product_id: productId, variant_id: variantId, quantity: quantity }; try { const data = await this.xhr_.fetchJson(url, { method: 'POST', body: reqBody }); // 触发加购成功提示 this.triggerAddToCartToast_(); return data; } catch (error) { error.then(err=>{ this.showToast_(err?.message || err?.errors?.[0] || 'Unknown error'); }) } finally { // 无论成功失败,都重置加购状态 this.isAddingToCart_ = false; } } showToast_(message) { const toastEl = document.querySelector("#apps-match-drawer-add_to_cart_toast"); if (toastEl) { SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast(message); }); } } // 触发加购成功提示 triggerAddToCartToast_() { // 如果主题有自己的加购提示,则不显示 const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy'); if (themeAddToCartToastEl) return; // 显示应用的加购成功提示 this.showToast_("Added successfully"); } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, `${ TAG }.${ name }`, data || {}); this.action_.trigger(this.element, name, event); } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } } SPZ.defineElement(TAG, SpzCustomProductAutomatic);
class SpzCustomDiscountBundle extends SPZ.BaseElement { constructor(element) { super(element); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } mountCallback() {} unmountCallback() {} setupAction_() { this.registerAction('showAddToCartToast', () => { const themeAddToCartToastEl = document.querySelector('#add-cart-event-proxy') if(themeAddToCartToastEl) return const toastEl = document.querySelector('#apps-match-drawer-add_to_cart_toast') SPZ.whenApiDefined(toastEl).then((apis) => { apis.showToast("Added successfully"); }); }); } buildCallback() { this.setupAction_(); }; } SPZ.defineElement('spz-custom-discount-toast', SpzCustomDiscountBundle);

color - Charcoal

Please select a color

size

Please select a size

Quantity

Apple Pay Google Pay Visa Mastercard PayPal American Express Discover
Free shipping on orders over $69
Secure checkout with trusted payment options
30-day returns if needed

Product Description

Channel vintage-inspired glamour with this Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress. Featuring a refined charcoal pinstripe outer, delicate lace accents and a structured corset bodice, the silhouette balances tailored sophistication with feminine detail. The midi length lends timeless elegance, making this piece perfect for evening events, cocktail parties, or a dressed-up day look with a modern retro twist.

Key Features

  • Charcoal pinstripe fabric that creates a slimming vertical line and classic tailored look
  • Corset-style bodice with visible boning for structured support and defined waist shaping
  • Delicate lace trim and overlay at the neckline and hem, adding a soft, romantic contrast to the tailored pinstripe
  • Adjustable lace-up or hook-and-eye closure at the back (styling-dependent) to customize the fit
  • Midi-length skirt that flatters most body types and moves gracefully
  • Built-in lining for comfort and modesty while maintaining the dress’s sculpted shape
  • Versatile neutral charcoal tone that pairs easily with seasonal colors and accessories

How to Style

  • For evening sophistication: pair with pointed-toe heels, a sleek clutch, and pearl or crystal drop earrings.
  • For a vintage-inspired look: add T-strap or Mary Jane heels, a small structured handbag, and a bold red lip.
  • For daytime or office-appropriate styling: layer a tailored blazer or cropped jacket over the dress and wear low block heels or loafers.
  • For an edgier take: combine with ankle boots, a leather biker jacket, and layered metallic jewelry.
  • Consider sheer or patterned tights in cooler weather to extend wearability through seasons.

Summary

This Retro Elegant Charcoal Pinstripe Lace Corset Midi Dress marries structured tailoring with delicate feminine details. The corseted waist and vertical pinstripe deliver a flattering, hourglass-enhancing silhouette, while lace accents soften the look for romantic appeal. Versatile and refined, it’s a standout piece that transitions effortlessly from formal evenings to chic daytime events with the right accessories.