import Upload from '../index'; import axios from 'axios'; export default { render: function render() { var h = arguments[0]; var uploaderProps = { props: { action: '//jsonplaceholder.typicode.com/posts/', multiple: false, data: { a: 1, b: 2 }, headers: { Authorization: '$prefix $token' }, customRequest: function customRequest(_ref) { var action = _ref.action, data = _ref.data, file = _ref.file, filename = _ref.filename, headers = _ref.headers, onError = _ref.onError, onProgress = _ref.onProgress, onSuccess = _ref.onSuccess, withCredentials = _ref.withCredentials; // EXAMPLE: post form-data with 'axios' var formData = new FormData(); if (data) { Object.keys(data).map(function (key) { formData.append(key, data[key]); }); } formData.append(filename, file); axios.post(action, formData, { withCredentials: withCredentials, headers: headers, onUploadProgress: function onUploadProgress(_ref2) { var total = _ref2.total, loaded = _ref2.loaded; onProgress({ percent: Math.round(loaded / total * 100).toFixed(2) }, file); } }).then(function (_ref3) { var response = _ref3.data; onSuccess(response, file); })['catch'](onError); return { abort: function abort() { console.log('upload progress is aborted.'); } }; } }, on: { start: function start(file) { console.log('start', file, file.name); }, success: function success(file) { console.log('success', file); }, error: function error(err) { console.log('error', err); }, progress: function progress(_ref4, file) { var percent = _ref4.percent; console.log('progress', percent + '%', file.name); } } }; return h( 'div', { style: { margin: '100px' } }, [h('div', [h( Upload, uploaderProps, [h('a', ['\u5F00\u59CB\u4E0A\u4F20'])] )])] ); } };