🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥
1 / 16

🔥 Kitchen Sink Drain Basket Swan Drain Rack🔥

$13.99
$26.90
Color
Please select a color
Quantity
Please select a quantity

Quantity

No need to install, hung directly at the bottom of the faucet, swan-shaped hook design, suitable for all kinds of sinks.

Multiple functions, can filter leftovers in the kitchen, can be used as a fruit drain basket, can be used as a sponge brush drain rack.

undefined
[Safety material]The water tank basket is made of good material, so there is no need to worry about harmful substances.
undefined
[Unique design]The triangular swan shape design makes full use of the space in the corner of the sink and does not occupy the extra space inside the sink. Lively and cute appearance, quick discharge of pores, not easy to clog.
undefined
[Good stability]The long hook of the water tank filter is suitable for most water tanks. Apply a triangular structure to increase stability. Don't worry about falling, sagging or loosening. Let you rest assured to use.
undefined
undefined
[Multi-function] The drain basket can be placed in the sink for filtering residues, washing fruits, etc. The drain basket has a wide range of uses and is very convenient to keep the sink countertop clean and tidy.

  • Material: Plastic
  • Color: Yellow, Orange, Blue, Green
  • Size: 27*24*8cm
  • Weight:97g
  • Package includes:Swan Drain Basket*1pcs

undefined

Note

  • Due to manual measurements, please allow slight measurement deviations.
  • Due to the different display and lighting effects, the actual color of the item may be slightly different from the color displayed in the picture.
Customer Reviews

Here are what our customers say.

Write a Review
Customer Reviews
Wow you reached the bottom
Newest
Most liked
Highest ratings
Lowest ratings
×
class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
The review would not show in product details on storefront since it does not support to.