element-plus/DOCS zh-CN21.50901e38ca861663009e.js
2020-12-09 05:14:52 +00:00

655 lines
38 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[201],{
/***/ 489:
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);
// EXTERNAL MODULE: ./node_modules/vue/dist/vue.esm-browser.js
var vue_esm_browser = __webpack_require__(0);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/dist/templateLoader.js??ref--6!./node_modules/vue-loader/dist??ref--2-0!./website/md-loader!./website/docs/zh-CN/drawer.md?vue&type=template&id=37c3c833
var drawervue_type_template_id_37c3c833_hoisted_1 = {
class: "content element-doc"
};
var drawervue_type_template_id_37c3c833_hoisted_2 = /*#__PURE__*/Object(vue_esm_browser["m" /* createStaticVNode */])("<h2 id=\"drawer-chou-ti\"><a class=\"header-anchor\" href=\"#drawer-chou-ti\">¶</a> Drawer 抽屉</h2><p>有些时候, <code>Dialog</code> 组件并不满足我们的需求, 比如你的表单很长, 亦或是你需要临时展示一些文档, <code>Drawer</code> 拥有和 <code>Dialog</code> 几乎相同的 API, 在 UI 上带来不一样的体验.</p><div class=\"tip\"><p>因为 Vue 提供了 <code>v-model</code> 的原生支持,所以以前的 <code>visible.sync</code> 已经不再适用,请使用 <code>v-model=&quot;visibleBinding&quot;</code> 的表达式来绑定是否显示抽屉组件</p></div><h3 id=\"ji-ben-yong-fa\"><a class=\"header-anchor\" href=\"#ji-ben-yong-fa\">¶</a> 基本用法</h3><p>呼出一个临时的侧边栏, 可以从多个方向呼出</p>", 5);
var _hoisted_7 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("div", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("p", null, [/*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])("需要设置 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "model-value"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 属性,它的"), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("strong", null, "类型"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])("是 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "boolean"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(",当为 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("strong", null, "true"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 时显示 Drawer。Drawer 分为两个部分:"), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "title"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 和 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "body"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(""), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "title"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 需要具名为 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("strong", null, "title"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 的 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "slot"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(", 也可以通过 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "title"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 属性来定义,默认值为空。需要注意的是, Drawer 默认是从右往左打开, 当然可以设置对应的 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "direction"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(", 详细请参考 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "direction"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 用法 最后,本例还展示了 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "before-close"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 的用法")])], -1);
var _hoisted_8 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("pre", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", {
class: "html"
}, "<el-radio-group v-model=\"direction\">\n <el-radio label=\"ltr\">从左往右开</el-radio>\n <el-radio label=\"rtl\">从右往左开</el-radio>\n <el-radio label=\"ttb\">从上往下开</el-radio>\n <el-radio label=\"btt\">从下往上开</el-radio>\n</el-radio-group>\n\n<el-button @click=\"drawer = true\" type=\"primary\" style=\"margin-left: 16px;\">\n 点我打开\n</el-button>\n\n<el-drawer\n title=\"我是标题\"\n v-model=\"drawer\"\n :direction=\"direction\"\n :before-close=\"handleClose\" destroy-on-close>\n <span>我来啦!</span>\n</el-drawer>\n\n<script>\n export default {\n data() {\n return {\n drawer: false,\n direction: 'rtl',\n };\n },\n methods: {\n handleClose(done) {\n this.$confirm('确认关闭?')\n .then(_ => {\n done();\n })\n .catch(_ => {});\n }\n }\n };\n</script>\n")], -1);
var _hoisted_9 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("h3", {
id: "bu-tian-jia-title"
}, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("a", {
class: "header-anchor",
href: "#bu-tian-jia-title"
}, "¶"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 不添加 Title")], -1);
var _hoisted_10 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("p", null, "当你不需要标题到时候, 你还可以去掉标题", -1);
var _hoisted_11 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("div", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("p", null, [/*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])("当遇到不需要 title 的场景时, 可以通过 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "withHeader"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 这个属性来关闭掉 title 的显示, 这样可以留出更大的空间给到用户, 为了用户的可访问性, 请务必设定 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "title"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 的值")])], -1);
var _hoisted_12 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("pre", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", {
class: "html"
}, "<el-button @click=\"drawer = true\" type=\"primary\" style=\"margin-left: 16px;\">\n 点我打开\n</el-button>\n\n<el-drawer\n title=\"我是标题\"\n v-model=\"drawer\"\n :with-header=\"false\">\n <span>我来啦!</span>\n</el-drawer>\n\n<script>\n export default {\n data() {\n return {\n drawer: false,\n };\n }\n };\n</script>\n")], -1);
var _hoisted_13 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("h3", {
id: "zi-ding-yi-nei-rong"
}, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("a", {
class: "header-anchor",
href: "#zi-ding-yi-nei-rong"
}, "¶"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 自定义内容")], -1);
var _hoisted_14 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("p", null, [/*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])("和 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "Dialog"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 组件一样, "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "Drawer"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 同样可以在其内部嵌套各种丰富的操作")], -1);
var _hoisted_15 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("pre", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", {
class: "html"
}, "<el-button type=\"text\" @click=\"table = true\">打开嵌套表格的 Drawer</el-button>\n<el-button type=\"text\" @click=\"dialog = true\">打开嵌套 Form 的 Drawer</el-button>\n<el-drawer\n title=\"我嵌套了表格!\"\n v-model=\"table\"\n direction=\"rtl\"\n size=\"50%\">\n <el-table :data=\"gridData\">\n <el-table-column property=\"date\" label=\"日期\" width=\"150\"></el-table-column>\n <el-table-column property=\"name\" label=\"姓名\" width=\"200\"></el-table-column>\n <el-table-column property=\"address\" label=\"地址\"></el-table-column>\n </el-table>\n</el-drawer>\n\n<el-drawer\n title=\"我嵌套了 Form !\"\n :before-close=\"handleClose\"\n v-model=\"dialog\"\n direction=\"ltr\"\n custom-class=\"demo-drawer\"\n ref=\"drawer\"\n >\n <div class=\"demo-drawer__content\">\n <el-form :model=\"form\">\n <el-form-item label=\"活动名称\" :label-width=\"formLabelWidth\">\n <el-input v-model=\"form.name\" autocomplete=\"off\"></el-input>\n </el-form-item>\n <el-form-item label=\"活动区域\" :label-width=\"formLabelWidth\">\n <el-select v-model=\"form.region\" placeholder=\"请选择活动区域\">\n <el-option label=\"区域一\" value=\"shanghai\"></el-option>\n <el-option label=\"区域二\" value=\"beijing\"></el-option>\n </el-select>\n </el-form-item>\n </el-form>\n <div class=\"demo-drawer__footer\">\n <el-button @click=\"cancelForm\">取 消</el-button>\n <el-button type=\"primary\" @click=\"$refs.drawer.closeDrawer()\" :loading=\"loading\">{{ loading ? '提交中 ...' : '确 定' }}</el-button>\n </div>\n </div>\n</el-drawer>\n\n<script>\nexport default {\n data() {\n return {\n table: false,\n dialog: false,\n loading: false,\n gridData: [{\n date: '2016-05-02',\n name: '王小虎',\n address: '上海市普陀区金沙江路 1518 弄'\n }, {\n date: '2016-05-04',\n name: '王小虎',\n address: '上海市普陀区金沙江路 1518 弄'\n }, {\n date: '2016-05-01',\n name: '王小虎',\n address: '上海市普陀区金沙江路 1518 弄'\n }, {\n date: '2016-05-03',\n name: '王小虎',\n address: '上海市普陀区金沙江路 1518 弄'\n }],\n form: {\n name: '',\n region: '',\n date1: '',\n date2: '',\n delivery: false,\n type: [],\n resource: '',\n desc: ''\n },\n formLabelWidth: '80px',\n timer: null,\n };\n },\n methods: {\n handleClose(done) {\n if (this.loading) {\n return;\n }\n this.$confirm('确定要提交表单吗?')\n .then(_ => {\n this.loading = true;\n this.timer = setTimeout(() => {\n done();\n // 动画关闭需要一定的时间\n setTimeout(() => {\n this.loading = false;\n }, 400);\n }, 2000);\n })\n .catch(_ => {});\n },\n cancelForm() {\n this.loading = false;\n this.dialog = false;\n clearTimeout(this.timer);\n }\n }\n}\n</script>\n")], -1);
var _hoisted_16 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("h3", {
id: "duo-ceng-qian-tao"
}, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("a", {
class: "header-anchor",
href: "#duo-ceng-qian-tao"
}, "¶"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 多层嵌套")], -1);
var _hoisted_17 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("p", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "Drawer"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 组件也拥有多层嵌套的方法")], -1);
var _hoisted_18 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("div", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("p", null, [/*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])("同样, 如果你需要嵌套多层 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "Drawer"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 请一定要设置 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", null, "append-to-body"), /*#__PURE__*/Object(vue_esm_browser["n" /* createTextVNode */])(" 属性为 "), /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("strong", null, "true")])], -1);
var _hoisted_19 = /*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("pre", null, [/*#__PURE__*/Object(vue_esm_browser["o" /* createVNode */])("code", {
class: "html"
}, "\n<el-button @click=\"drawer = true\" type=\"primary\" style=\"margin-left: 16px;\">\n 点我打开\n</el-button>\n\n<el-drawer\n title=\"我是外面的 Drawer\"\n v-model=\"drawer\"\n size=\"50%\">\n <div>\n <el-button @click=\"innerDrawer = true\">打开里面的!</el-button>\n <el-drawer\n title=\"我是里面的\"\n :append-to-body=\"true\"\n :before-close=\"handleClose\"\n v-model=\"innerDrawer\">\n <p>_(:зゝ∠)_</p>\n </el-drawer>\n </div>\n</el-drawer>\n\n<script>\n export default {\n data() {\n return {\n drawer: false,\n innerDrawer: false,\n };\n },\n methods: {\n handleClose(done) {\n this.$confirm('还有未保存的工作哦确定关闭吗?')\n .then(_ => {\n done();\n })\n .catch(_ => {});\n }\n }\n };\n</script>\n\n")], -1);
var _hoisted_20 = /*#__PURE__*/Object(vue_esm_browser["m" /* createStaticVNode */])("<div class=\"tip\"><p>Drawer 的内容是懒渲染的,即在第一次被打开之前,传入的默认 slot 不会被渲染到 DOM 上。因此,如果需要执行 DOM 操作,或通过 <code>ref</code> 获取相应组件,请在 <code>open</code> 事件回调中进行。</p></div><div class=\"tip\"><p>Drawer 提供一个 <code>destroyOnClose</code> API, 用来在关闭 Drawer 时销毁子组件内容, 例如清理表单内的状态, 在必要时可以将该属性设置为 <strong>true</strong> 用来保证初始状态的一致性</p></div><h3 id=\"drawer-attributes\"><a class=\"header-anchor\" href=\"#drawer-attributes\">¶</a> Drawer Attributes</h3><table><thead><tr><th>参数</th><th>说明</th><th>类型</th><th>可选值</th><th>默认值</th></tr></thead><tbody><tr><td>append-to-body</td><td>Drawer 自身是否插入至 body 元素上。嵌套的 Drawer 必须指定该属性并赋值为 true</td><td>boolean</td><td>—</td><td>false</td></tr><tr><td>before-close</td><td>关闭前的回调,会暂停 Drawer 的关闭</td><td>function(done)done 用于关闭 Drawer</td><td>—</td><td>—</td></tr><tr><td>close-on-press-escape</td><td>是否可以通过按下 ESC 关闭 Drawer</td><td>boolean</td><td>—</td><td>true</td></tr><tr><td>custom-class</td><td>Drawer 的自定义类名</td><td>string</td><td>—</td><td>—</td></tr><tr><td>destroy-on-close</td><td>控制是否在关闭 Drawer 之后将子元素全部销毁</td><td>boolean</td><td>-</td><td>false</td></tr><tr><td>modal</td><td>是否需要遮罩层</td><td>boolean</td><td>—</td><td>true</td></tr><tr><td>modal-append-to-body</td><td>遮罩层是否插入至 body 元素上,若为 false则遮罩层会插入至 Drawer 的父元素上</td><td>boolean</td><td>—</td><td>true</td></tr><tr><td>direction</td><td>Drawer 打开的方向</td><td>Direction</td><td>rtl / ltr / ttb / btt</td><td>rtl</td></tr><tr><td>show-close</td><td>是否显示关闭按钮</td><td>boolean</td><td>—</td><td>true</td></tr><tr><td>size</td><td>Drawer 窗体的大小, 当使用 <code>number</code> 类型时, 以像素为单位, 当使用 <code>string</code> 类型时, 请传入 &#39;x%&#39;, 否则便会以 <code>number</code> 类型解释</td><td>number / string</td><td>-</td><td>&#39;30%&#39;</td></tr><tr><td>title</td><td>Drawer 的标题,也可通过具名 slot (见下表)传入</td><td>string</td><td>—</td><td>—</td></tr><tr><td>model-value / v-model</td><td>是否显示 Drawer</td><td>boolean</td><td>—</td><td>false</td></tr><tr><td>withHeader</td><td>控制是否显示 header 栏, 默认为 true, 当此项为 false 时, title attribute 和 title slot 均不生效</td><td>boolean</td><td>-</td><td>true</td></tr></tbody></table><h3 id=\"drawer-slot\"><a class=\"header-anchor\" href=\"#drawer-slot\">¶</a> Drawer Slot</h3><table><thead><tr><th>name</th><th>说明</th></tr></thead><tbody><tr><td>—</td><td>Drawer 的内容</td></tr><tr><td>title</td><td>Drawer 标题区的内容</td></tr></tbody></table><h3 id=\"drawer-methods\"><a class=\"header-anchor\" href=\"#drawer-methods\">¶</a> Drawer Methods</h3><table><thead><tr><th>name</th><th>说明</th></tr></thead><tbody><tr><td>closeDrawer</td><td>用于关闭 Drawer, 该方法会调用传入的 <code>before-close</code> 方法</td></tr></tbody></table><h3 id=\"drawer-events\"><a class=\"header-anchor\" href=\"#drawer-events\">¶</a> Drawer Events</h3><table><thead><tr><th>事件名称</th><th>说明</th><th>回调参数</th></tr></thead><tbody><tr><td>open</td><td>Drawer 打开的回调</td><td>—</td></tr><tr><td>opened</td><td>Drawer 打开动画结束时的回调</td><td>—</td></tr><tr><td>close</td><td>Drawer 关闭的回调</td><td>—</td></tr><tr><td>closed</td><td>Drawer 关闭动画结束时的回调</td><td>—</td></tr></tbody></table>", 10);
function drawervue_type_template_id_37c3c833_render(_ctx, _cache, $props, $setup, $data, $options) {
var _component_element_demo0 = Object(vue_esm_browser["P" /* resolveComponent */])("element-demo0");
var _component_demo_block = Object(vue_esm_browser["P" /* resolveComponent */])("demo-block");
var _component_element_demo1 = Object(vue_esm_browser["P" /* resolveComponent */])("element-demo1");
var _component_element_demo2 = Object(vue_esm_browser["P" /* resolveComponent */])("element-demo2");
var _component_element_demo3 = Object(vue_esm_browser["P" /* resolveComponent */])("element-demo3");
return Object(vue_esm_browser["G" /* openBlock */])(), Object(vue_esm_browser["j" /* createBlock */])("section", drawervue_type_template_id_37c3c833_hoisted_1, [drawervue_type_template_id_37c3c833_hoisted_2, Object(vue_esm_browser["o" /* createVNode */])(_component_demo_block, null, {
source: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [Object(vue_esm_browser["o" /* createVNode */])(_component_element_demo0)];
}),
highlight: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_8];
}),
default: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_7];
}),
_: 1
}), _hoisted_9, _hoisted_10, Object(vue_esm_browser["o" /* createVNode */])(_component_demo_block, null, {
source: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [Object(vue_esm_browser["o" /* createVNode */])(_component_element_demo1)];
}),
highlight: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_12];
}),
default: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_11];
}),
_: 1
}), _hoisted_13, _hoisted_14, Object(vue_esm_browser["o" /* createVNode */])(_component_demo_block, null, {
source: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [Object(vue_esm_browser["o" /* createVNode */])(_component_element_demo2)];
}),
highlight: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_15];
}),
_: 1
}), _hoisted_16, _hoisted_17, Object(vue_esm_browser["o" /* createVNode */])(_component_demo_block, null, {
source: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [Object(vue_esm_browser["o" /* createVNode */])(_component_element_demo3)];
}),
highlight: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_19];
}),
default: Object(vue_esm_browser["eb" /* withCtx */])(function () {
return [_hoisted_18];
}),
_: 1
}), _hoisted_20]);
}
// CONCATENATED MODULE: ./website/docs/zh-CN/drawer.md?vue&type=template&id=37c3c833
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/extends.js
var helpers_extends = __webpack_require__(7);
var extends_default = /*#__PURE__*/__webpack_require__.n(helpers_extends);
// CONCATENATED MODULE: ./node_modules/babel-loader/lib!./node_modules/vue-loader/dist??ref--2-0!./website/md-loader!./website/docs/zh-CN/drawer.md?vue&type=script&lang=ts
/* harmony default export */ var drawervue_type_script_lang_ts = ({
name: 'component-doc',
components: {
"element-demo0": function () {
var _createTextVNode = vue_esm_browser["n" /* createTextVNode */],
_resolveComponent = vue_esm_browser["P" /* resolveComponent */],
_withCtx = vue_esm_browser["eb" /* withCtx */],
_createVNode = vue_esm_browser["o" /* createVNode */],
_openBlock = vue_esm_browser["G" /* openBlock */],
_createBlock = vue_esm_browser["j" /* createBlock */];
var _hoisted_1 = /*#__PURE__*/_createTextVNode("从左往右开");
var _hoisted_2 = /*#__PURE__*/_createTextVNode("从右往左开");
var _hoisted_3 = /*#__PURE__*/_createTextVNode("从上往下开");
var _hoisted_4 = /*#__PURE__*/_createTextVNode("从下往上开");
var _hoisted_5 = /*#__PURE__*/_createTextVNode(" 点我打开 ");
var _hoisted_6 = /*#__PURE__*/_createVNode("span", null, "我来啦!", -1);
function render(_ctx, _cache) {
var _component_el_radio = _resolveComponent("el-radio");
var _component_el_radio_group = _resolveComponent("el-radio-group");
var _component_el_button = _resolveComponent("el-button");
var _component_el_drawer = _resolveComponent("el-drawer");
return _openBlock(), _createBlock("div", null, [_createVNode(_component_el_radio_group, {
modelValue: _ctx.direction,
"onUpdate:modelValue": _cache[1] || (_cache[1] = function ($event) {
return _ctx.direction = $event;
})
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_radio, {
label: "ltr"
}, {
default: _withCtx(function () {
return [_hoisted_1];
}),
_: 1
}), _createVNode(_component_el_radio, {
label: "rtl"
}, {
default: _withCtx(function () {
return [_hoisted_2];
}),
_: 1
}), _createVNode(_component_el_radio, {
label: "ttb"
}, {
default: _withCtx(function () {
return [_hoisted_3];
}),
_: 1
}), _createVNode(_component_el_radio, {
label: "btt"
}, {
default: _withCtx(function () {
return [_hoisted_4];
}),
_: 1
})];
}),
_: 1
}, 8, ["modelValue"]), _createVNode(_component_el_button, {
onClick: _cache[2] || (_cache[2] = function ($event) {
return _ctx.drawer = true;
}),
type: "primary",
style: {
"margin-left": "16px"
}
}, {
default: _withCtx(function () {
return [_hoisted_5];
}),
_: 1
}), _createVNode(_component_el_drawer, {
title: "我是标题",
modelValue: _ctx.drawer,
"onUpdate:modelValue": _cache[3] || (_cache[3] = function ($event) {
return _ctx.drawer = $event;
}),
direction: _ctx.direction,
"before-close": _ctx.handleClose,
"destroy-on-close": ""
}, {
default: _withCtx(function () {
return [_hoisted_6];
}),
_: 1
}, 8, ["modelValue", "direction", "before-close"])]);
}
var democomponentExport = {
data: function data() {
return {
drawer: false,
direction: 'rtl'
};
},
methods: {
handleClose: function handleClose(done) {
this.$confirm('确认关闭?').then(function (_) {
done();
}).catch(function (_) {});
}
}
};
return extends_default()({
render: render
}, democomponentExport);
}(),
"element-demo1": function () {
var _createTextVNode = vue_esm_browser["n" /* createTextVNode */],
_resolveComponent = vue_esm_browser["P" /* resolveComponent */],
_withCtx = vue_esm_browser["eb" /* withCtx */],
_createVNode = vue_esm_browser["o" /* createVNode */],
_openBlock = vue_esm_browser["G" /* openBlock */],
_createBlock = vue_esm_browser["j" /* createBlock */];
var _hoisted_1 = /*#__PURE__*/_createTextVNode(" 点我打开 ");
var _hoisted_2 = /*#__PURE__*/_createVNode("span", null, "我来啦!", -1);
function render(_ctx, _cache) {
var _component_el_button = _resolveComponent("el-button");
var _component_el_drawer = _resolveComponent("el-drawer");
return _openBlock(), _createBlock("div", null, [_createVNode(_component_el_button, {
onClick: _cache[1] || (_cache[1] = function ($event) {
return _ctx.drawer = true;
}),
type: "primary",
style: {
"margin-left": "16px"
}
}, {
default: _withCtx(function () {
return [_hoisted_1];
}),
_: 1
}), _createVNode(_component_el_drawer, {
title: "我是标题",
modelValue: _ctx.drawer,
"onUpdate:modelValue": _cache[2] || (_cache[2] = function ($event) {
return _ctx.drawer = $event;
}),
"with-header": false
}, {
default: _withCtx(function () {
return [_hoisted_2];
}),
_: 1
}, 8, ["modelValue"])]);
}
var democomponentExport = {
data: function data() {
return {
drawer: false
};
}
};
return extends_default()({
render: render
}, democomponentExport);
}(),
"element-demo2": function () {
var _createTextVNode = vue_esm_browser["n" /* createTextVNode */],
_resolveComponent = vue_esm_browser["P" /* resolveComponent */],
_withCtx = vue_esm_browser["eb" /* withCtx */],
_createVNode = vue_esm_browser["o" /* createVNode */],
_toDisplayString = vue_esm_browser["T" /* toDisplayString */],
_openBlock = vue_esm_browser["G" /* openBlock */],
_createBlock = vue_esm_browser["j" /* createBlock */];
var _hoisted_1 = /*#__PURE__*/_createTextVNode("打开嵌套表格的 Drawer");
var _hoisted_2 = /*#__PURE__*/_createTextVNode("打开嵌套 Form 的 Drawer");
var _hoisted_3 = {
class: "demo-drawer__content"
};
var _hoisted_4 = {
class: "demo-drawer__footer"
};
var _hoisted_5 = /*#__PURE__*/_createTextVNode("取 消");
function render(_ctx, _cache) {
var _component_el_button = _resolveComponent("el-button");
var _component_el_table_column = _resolveComponent("el-table-column");
var _component_el_table = _resolveComponent("el-table");
var _component_el_drawer = _resolveComponent("el-drawer");
var _component_el_input = _resolveComponent("el-input");
var _component_el_form_item = _resolveComponent("el-form-item");
var _component_el_option = _resolveComponent("el-option");
var _component_el_select = _resolveComponent("el-select");
var _component_el_form = _resolveComponent("el-form");
return _openBlock(), _createBlock("div", null, [_createVNode(_component_el_button, {
type: "text",
onClick: _cache[1] || (_cache[1] = function ($event) {
return _ctx.table = true;
})
}, {
default: _withCtx(function () {
return [_hoisted_1];
}),
_: 1
}), _createVNode(_component_el_button, {
type: "text",
onClick: _cache[2] || (_cache[2] = function ($event) {
return _ctx.dialog = true;
})
}, {
default: _withCtx(function () {
return [_hoisted_2];
}),
_: 1
}), _createVNode(_component_el_drawer, {
title: "我嵌套了表格!",
modelValue: _ctx.table,
"onUpdate:modelValue": _cache[3] || (_cache[3] = function ($event) {
return _ctx.table = $event;
}),
direction: "rtl",
size: "50%"
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_table, {
data: _ctx.gridData
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_table_column, {
property: "date",
label: "日期",
width: "150"
}), _createVNode(_component_el_table_column, {
property: "name",
label: "姓名",
width: "200"
}), _createVNode(_component_el_table_column, {
property: "address",
label: "地址"
})];
}),
_: 1
}, 8, ["data"])];
}),
_: 1
}, 8, ["modelValue"]), _createVNode(_component_el_drawer, {
title: "我嵌套了 Form !",
"before-close": _ctx.handleClose,
modelValue: _ctx.dialog,
"onUpdate:modelValue": _cache[7] || (_cache[7] = function ($event) {
return _ctx.dialog = $event;
}),
direction: "ltr",
"custom-class": "demo-drawer",
ref: "drawer"
}, {
default: _withCtx(function () {
return [_createVNode("div", _hoisted_3, [_createVNode(_component_el_form, {
model: _ctx.form
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_form_item, {
label: "活动名称",
"label-width": _ctx.formLabelWidth
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_input, {
modelValue: _ctx.form.name,
"onUpdate:modelValue": _cache[4] || (_cache[4] = function ($event) {
return _ctx.form.name = $event;
}),
autocomplete: "off"
}, null, 8, ["modelValue"])];
}),
_: 1
}, 8, ["label-width"]), _createVNode(_component_el_form_item, {
label: "活动区域",
"label-width": _ctx.formLabelWidth
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_select, {
modelValue: _ctx.form.region,
"onUpdate:modelValue": _cache[5] || (_cache[5] = function ($event) {
return _ctx.form.region = $event;
}),
placeholder: "请选择活动区域"
}, {
default: _withCtx(function () {
return [_createVNode(_component_el_option, {
label: "区域一",
value: "shanghai"
}), _createVNode(_component_el_option, {
label: "区域二",
value: "beijing"
})];
}),
_: 1
}, 8, ["modelValue"])];
}),
_: 1
}, 8, ["label-width"])];
}),
_: 1
}, 8, ["model"]), _createVNode("div", _hoisted_4, [_createVNode(_component_el_button, {
onClick: _ctx.cancelForm
}, {
default: _withCtx(function () {
return [_hoisted_5];
}),
_: 1
}, 8, ["onClick"]), _createVNode(_component_el_button, {
type: "primary",
onClick: _cache[6] || (_cache[6] = function ($event) {
return _ctx.$refs.drawer.closeDrawer();
}),
loading: _ctx.loading
}, {
default: _withCtx(function () {
return [_createTextVNode(_toDisplayString(_ctx.loading ? '提交中 ...' : '确 定'), 1
/* TEXT */
)];
}),
_: 1
}, 8, ["loading"])])])];
}),
_: 1
}, 8, ["before-close", "modelValue"])]);
}
var democomponentExport = {
data: function data() {
return {
table: false,
dialog: false,
loading: false,
gridData: [{
date: '2016-05-02',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-04',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-01',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}, {
date: '2016-05-03',
name: '王小虎',
address: '上海市普陀区金沙江路 1518 弄'
}],
form: {
name: '',
region: '',
date1: '',
date2: '',
delivery: false,
type: [],
resource: '',
desc: ''
},
formLabelWidth: '80px',
timer: null
};
},
methods: {
handleClose: function handleClose(done) {
var _this = this;
if (this.loading) {
return;
}
this.$confirm('确定要提交表单吗?').then(function (_) {
_this.loading = true;
_this.timer = setTimeout(function () {
done(); // 动画关闭需要一定的时间
setTimeout(function () {
_this.loading = false;
}, 400);
}, 2000);
}).catch(function (_) {});
},
cancelForm: function cancelForm() {
this.loading = false;
this.dialog = false;
clearTimeout(this.timer);
}
}
};
return extends_default()({
render: render
}, democomponentExport);
}(),
"element-demo3": function () {
var _createTextVNode = vue_esm_browser["n" /* createTextVNode */],
_resolveComponent = vue_esm_browser["P" /* resolveComponent */],
_withCtx = vue_esm_browser["eb" /* withCtx */],
_createVNode = vue_esm_browser["o" /* createVNode */],
_openBlock = vue_esm_browser["G" /* openBlock */],
_createBlock = vue_esm_browser["j" /* createBlock */];
var _hoisted_1 = /*#__PURE__*/_createTextVNode(" 点我打开 ");
var _hoisted_2 = /*#__PURE__*/_createTextVNode("打开里面的!");
var _hoisted_3 = /*#__PURE__*/_createVNode("p", null, "_(:зゝ∠)_", -1);
function render(_ctx, _cache) {
var _component_el_button = _resolveComponent("el-button");
var _component_el_drawer = _resolveComponent("el-drawer");
return _openBlock(), _createBlock("div", null, [_createVNode(_component_el_button, {
onClick: _cache[1] || (_cache[1] = function ($event) {
return _ctx.drawer = true;
}),
type: "primary",
style: {
"margin-left": "16px"
}
}, {
default: _withCtx(function () {
return [_hoisted_1];
}),
_: 1
}), _createVNode(_component_el_drawer, {
title: "我是外面的 Drawer",
modelValue: _ctx.drawer,
"onUpdate:modelValue": _cache[4] || (_cache[4] = function ($event) {
return _ctx.drawer = $event;
}),
size: "50%"
}, {
default: _withCtx(function () {
return [_createVNode("div", null, [_createVNode(_component_el_button, {
onClick: _cache[2] || (_cache[2] = function ($event) {
return _ctx.innerDrawer = true;
})
}, {
default: _withCtx(function () {
return [_hoisted_2];
}),
_: 1
}), _createVNode(_component_el_drawer, {
title: "我是里面的",
"append-to-body": true,
"before-close": _ctx.handleClose,
modelValue: _ctx.innerDrawer,
"onUpdate:modelValue": _cache[3] || (_cache[3] = function ($event) {
return _ctx.innerDrawer = $event;
})
}, {
default: _withCtx(function () {
return [_hoisted_3];
}),
_: 1
}, 8, ["before-close", "modelValue"])])];
}),
_: 1
}, 8, ["modelValue"])]);
}
var democomponentExport = {
data: function data() {
return {
drawer: false,
innerDrawer: false
};
},
methods: {
handleClose: function handleClose(done) {
this.$confirm('还有未保存的工作哦确定关闭吗?').then(function (_) {
done();
}).catch(function (_) {});
}
}
};
return extends_default()({
render: render
}, democomponentExport);
}()
}
});
// CONCATENATED MODULE: ./website/docs/zh-CN/drawer.md?vue&type=script&lang=ts
// CONCATENATED MODULE: ./website/docs/zh-CN/drawer.md
drawervue_type_script_lang_ts.render = drawervue_type_template_id_37c3c833_render
/* harmony default export */ var drawer = __webpack_exports__["default"] = (drawervue_type_script_lang_ts);
/***/ })
}]);