n-grid-item 宫格项
放在 n-grid 默认插槽内。列宽、间距、边框、圆角和方形高度由父容器配置,内容通过默认插槽定制。
平台兼容性
支持 App、Web、微信小程序,必须搭配 n-grid 使用。
API
属性
| 参数 | 说明 | 类型 | 默认值 |
|---|---|---|---|
| name | 业务标识;空串时使用 index | String / Number | "" |
| index | 点击回传下标,循环时显式绑定 | Number | 0 |
| highlight | 按压反馈开关,关闭仍触发点击 | Boolean | true |
| background | 单项背景,空串跟随父容器 | String | "" |
| content-style | 内容区域行内样式 | String | "" |
| custom-class | 根节点类,需定义在组件样式表内 | String | "" |
| custom-style | 根节点行内样式,覆盖宽度后自动重测 | String | "" |
事件
| 事件名 | 说明 | 回调参数 |
|---|---|---|
| click | 点击本格,与父容器 click 同参同发 | NGridClickDetail: |
插槽
| 插槽名 | 说明 |
|---|---|
| default | 完整内容,可组合图标、文字、徽标、图片 |
实现说明
| 机制 | 参考做法 | 本库做法与分歧理由 |
|---|---|---|
| 父子协作 | 成员读取父布局并加入成员集合 | 注入响应式布局,注册重测回调并在卸载时清理;不存在父容器时显式报错 |
| 内容层 | 外层管理格子尺寸,内层承载插槽与背景 | 保留两层职责,根节点消费半间距,内容节点负责方形高度、背景和边框;宿主保持稳定,布局配置变化不销毁插槽 |
| 边框 | 分工画线或独立描边 | 连续布局用常驻边线并用 v-show 切换,线条沿实际内容边界绘制,不参与尺寸计算;间隔布局使用完整原生边框 |
| 异步测量 | 渲染后查询宽度 | 只接收最后一次布局请求的测量结果,隐藏时清除旧宽度,卸载后丢弃尚未返回的结果 |
| 交互 | name / index 点击回传与 highlight | 保留业务标识和显式下标,双通道统一参数;原生 hover-class 提供透明度反馈 |
内容与格子默认 overflow:visible,可承载骑角徽标;插槽图片需要自行裁圆角。固定正方形内放长文时应关闭父 square,避免内容超出格子。