UNPKG

mt-ui-components-vue3

Version:

玛果添实UI组件库(Vue3)

150 lines 5.06 kB
/* Analyzed bindings: { "value": "props", "ref": "setup-const", "nextTick": "setup-const", "DataTable": "setup-maybe-ref", "JButton": "setup-maybe-ref", "AIcon": "setup-maybe-ref", "emit": "setup-const", "props": "setup-reactive-const", "source": "setup-ref", "tableRef": "setup-ref", "columns": "setup-const", "updateValue": "setup-const", "addItem": "setup-const", "valueChange": "setup-const", "deleteItem": "setup-const", "getData": "setup-const" } */ import { defineComponent as _defineComponent } from 'vue'; import { unref as _unref, createVNode as _createVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue"; const _hoisted_1 = { class: "enum-table-warp" }; import { ref, } from 'vue'; import { DataTable, Button as JButton, AIcon } from '../../../components'; const __sfc_main__ = _defineComponent({ props: { value: { type: Array, default: () => [], }, }, emits: ['update:value', 'change', 'add'], setup(__props, { expose: __expose, emit }) { const props = __props; const source = ref(props.value || []); const tableRef = ref(); const columns = [ { title: 'Value', dataIndex: 'value', type: 'text', width: 150, form: { required: true, rules: [ { required: true, message: '请输入value', }, ], }, }, { title: 'Text', dataIndex: 'text', type: 'text', form: { required: true, rules: [ { required: true, message: '请输入Text', }, ], }, }, { title: '操作', dataIndex: 'action', width: 60, }, ]; const updateValue = () => { emit('update:value', source.value); emit('change', source.value); }; const addItem = () => { source.value.push({ value: undefined, text: undefined, }); // nextTick(() => { // emit('add'); // updateValue(); // }); }; const valueChange = () => { updateValue(); }; const deleteItem = (index) => { source.value.splice(index, 1); updateValue(); }; const getData = () => { return new Promise((resolve, reject) => { console.log('开始校验2'); tableRef.value .getData() .then((data) => { source.value = data; updateValue(); resolve(true); }) .catch((err) => reject(err)); }); }; __expose({ getData: getData, }); return (_ctx, _cache) => { return (_openBlock(), _createElementBlock("div", _hoisted_1, [ _createVNode(_unref(DataTable), { ref_key: "tableRef", ref: tableRef, "data-source": source.value, columns: columns, serial: true, "show-tool": false, "item-key": "value", onChange: valueChange }, { action: _withCtx(({ data }) => [ _createVNode(_unref(JButton), { type: "link", onClick: () => deleteItem(data.index) }, { default: _withCtx(() => [ _createVNode(_unref(AIcon), { type: "DeleteOutlined" }) ]), _: 2 /* DYNAMIC */ }, 1032 /* PROPS, DYNAMIC_SLOTS */, ["onClick"]) ]), _: 1 /* STABLE */ }, 8 /* PROPS */, ["data-source"]), _createVNode(_unref(JButton), { class: "enum-table-add", onClick: addItem }, { icon: _withCtx(() => [ _createVNode(_unref(AIcon), { type: "PlusOutlined" }) ]), default: _withCtx(() => [ _createTextVNode(" 新增枚举项 ") ]), _: 1 /* STABLE */ }) ])); }; } }); export default __sfc_main__;