UNPKG

zmp-vue

Version:

Build full featured iOS & Android apps using ZMP & Vue

49 lines (43 loc) 1.57 kB
import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createBlock as _createBlock, resolveComponent as _resolveComponent, mergeProps as _mergeProps, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot } from "vue"; function render(_ctx, _cache) { var _ref; var _component_GridItem = _resolveComponent("GridItem"); return _openBlock(), _createBlock("div", { class: ["grid", (_ref = {}, _ref["grid-" + _ctx.gridColumns] = true, _ref['grid-no-border'] = _ctx.noBorder, _ref)] }, [_ctx.data && _ctx.data.length ? (_openBlock(true), _createBlock(_Fragment, { key: 0 }, _renderList(_ctx.data, function (item, index) { return _openBlock(), _createBlock(_component_GridItem, _mergeProps({ key: item.key || "grid-item-" + index }, item), null, 16); }), 128)) : _renderSlot(_ctx.$slots, "default", { key: 1 })], 2); } import { computed } from 'vue'; import GridItem from './grid-item'; import { MAX_GRID_COLUMNS, MIN_GRID_COLUMNS } from '../../common/constants'; export default { name: 'zmp-grid', render: render, props: { noBorder: Boolean, data: Array, columns: [Number, String] }, components: { GridItem: GridItem }, setup: function setup(props) { var gridColumns = computed(function () { var gridColumns = 3; if (props.columns && props.columns > MIN_GRID_COLUMNS && props.columns < MAX_GRID_COLUMNS) { gridColumns = props.columns; } return gridColumns; }); return { gridColumns: gridColumns }; } };