UNPKG

sard-uniapp

Version:

sard-uniapp 是一套基于 Uniapp + Vue3 框架开发的兼容多端的 UI 组件库

141 lines (91 loc) 4.85 kB
--- nav: 组件 title: Grid subtitle: 宫格 group: title: 布局 order: 1 --- ## 介绍 将多个类目进行等宽排列,用于内容展示或者页面导航。 ## 引入 ```ts import Grid from 'sard-uniapp/components/grid/grid.vue' import GridItem from 'sard-uniapp/components/grid-item/grid-item.vue' ``` ## 代码演示 ### 基础使用 使用`text`属性设置文本内容,使用`icon`属性设置图标。 @code('${DEMO_PATH}/grid/demo/Basic.vue') ### 自定义列数 默认一行展示四个格子,可以通过`columns`自定义列数。 @code('${DEMO_PATH}/grid/demo/Columns.vue') ### 正方形格子 设置`square`属性后,格子的高度会和宽度保持一致。 @code('${DEMO_PATH}/grid/demo/Square.vue') ### 格子间距 通过`gap`属性设置格子之间的距离。 @code('${DEMO_PATH}/grid/demo/Gap.vue') ### 显示边框 显示边框后看起来分割更明显。 @code('${DEMO_PATH}/grid/demo/Border.vue') ### 内容横排 将`direction`属性设置为`horizontal`可以让宫格的内容呈横向排列。 @code('${DEMO_PATH}/grid/demo/Horizontal.vue') ### 内容翻转 将文本和图标的位置调换。 @code('${DEMO_PATH}/grid/demo/Reverse.vue') ### 可点击的 添加点击态。 @code('${DEMO_PATH}/grid/demo/Clickable.vue') ### 徽标提示 添加点击态。 @code('${DEMO_PATH}/grid/demo/Badge.vue') ### 自定义内容 通过默认插槽可以自定义格子展示的内容。 @code('${DEMO_PATH}/grid/demo/Custom.vue') ## API ### GridProps | 属性 | 描述 | 类型 | 默认值 | | ---------- | ------------------------ | -------------------------- | ---------- | | root-class | 组件根元素类名 | string | - | | root-style | 组件根元素样式 | StyleValue | - | | columns | 列数 | number | 4 | | gap | 格子间距 | string | 0 | | bordered | 是否显示边框 | boolean | false | | square | 是否将格子显示为正方形 | boolean | false | | clickable | 格子是否可点击 | boolean | false | | reverse | 是否调换图标和文本的位置 | boolean | false | | direction | 格子排列方向 | 'horizontal' \| 'vertical' | 'vertical' | ### GridSlots | 插槽 | 描述 | 属性 | | ------- | -------------- | ---- | | default | 自定义默认内容 | - | ### GridItemProps | 属性 | 描述 | 类型 | 默认值 | | ---------------------------- | -------------------------- | -------------------------------- | ------ | | root-class | 组件根元素类名 | string | - | | root-style | 组件根元素样式 | StyleValue | - | | content-class | 内容元素类名 | string | - | | content-style | 内容元素样式 | StyleValue | - | | text | 自定义文字内容 | string | - | | icon | 图标名称,可以为图片路径 | string | - | | icon-size | 图标尺寸 | string | - | | icon-color | 图标颜色 | string | - | | icon-family | 图标字体名称 | string | - | | dot <sup>1.12+</sup> | 是否显示宫格项右上角小红点 | boolean | false | | badge <sup>1.12+</sup> | 宫格项右上角徽标的内容 | number \| string | - | | badge-props <sup>1.12+</sup> | 自定义徽标属性 | [BadgeProps](./badge#BadgeProps) | - | ### GridItemSlots | 插槽 | 描述 | 属性 | | ------- | -------------------------------- | ---- | | default | 自定义默认内容,会覆盖文字和图标 | - | | text | 自定义文字内容,会覆盖`text`属性 | - | | icon | 自定义图标内容,会覆盖`icon`属性 | - | ### GridItemEmits | 事件 | 描述 | 类型 | | ----- | -------------- | -------------------- | | click | 点击格子时触发 | (event: any) => void | ## 主题定制 ### CSS 变量 @code('./variables.scss#variables')