Skip to content

Commit b6ecc3b

Browse files
muronggjuzi214032
authored andcommitted
fix(Grid): 修复组件体验问题
扩大 grid-item 组件点击范围,将 hover 效果移入 grid-item 组件
1 parent 193ff93 commit b6ecc3b

5 files changed

Lines changed: 25 additions & 18 deletions

File tree

src/grid-item/index.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import dataUtil from '../core/utils/data-util';
2+
13
Component({
24
relations: {
35
'../grid/index': {
@@ -14,6 +16,7 @@ Component({
1416
},
1517
data: {
1618
index:0,
19+
isHover: true
1720
},
1821
attached() {
1922

@@ -32,8 +35,11 @@ Component({
3235
},
3336

3437
lifetimes: {
35-
show() {
36-
38+
ready() {
39+
const parent = this.getRelationNodes('../grid/index')[0];
40+
if(parent) {
41+
dataUtil.setDiffData(this, { isHover: parent.data.isHover });
42+
}
3743
},
3844
},
3945
methods: {

src/grid-item/index.less

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
.grid-item {
2-
max-width: initial;
3-
max-height: initial;
42
display: flex;
53
justify-content: center;
64
align-items: center;
75
flex-direction: column;
6+
}
7+
8+
.l-gird-item-hover {
9+
opacity: .8;
810
}

src/grid-item/index.wxml

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1-
<view class="l-grid-item l-grid-item-class grid-item" mut-bind:tap="tapGridItem">
1+
<view
2+
hover-class="{{isHover?'l-gird-item-hover':''}}"
3+
hover-start-time="20"
4+
hover-stay-time="50"
5+
class="l-grid-item l-grid-item-class grid-item"
6+
mut-bind:tap="tapGridItem"
7+
>
28
<slot></slot>
39
</view>

src/grid/index.less

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,6 @@
55

66
.l-grid-item {
77
display: flex;
8-
justify-content: center;
9-
align-items: center;
108
flex-direction: column;
119
text-align: center;
1210
box-sizing: border-box;
@@ -23,7 +21,3 @@
2321
}
2422

2523
}
26-
27-
.l-gird-hover{
28-
opacity: .8;
29-
}

src/grid/index.wxml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
<view class="l-grid l-class" mut-bind:tap="tapGrid">
2-
<view mut-bind:tap="tapGridItem"
3-
hover-class="{{isHover?'l-gird-hover':''}}"
4-
hover-start-time="20"
5-
hover-stay-time="50"
6-
data-grid-index="{{item.index}}"
7-
class="l-grid-item l-class-grid l-grid-class {{index%rowNum !== rowNum-1 &&(showBorder||showColBorder) ? 'side-grid':''}} {{(index<gridItems.length-(gridItems.length%rowNum||rowNum)) &&(showBorder||showRowBorder)? 'center-grid':''}}" wx:for="{{gridItems}}" wx:key="key"
8-
style="min-width:{{100/rowNum}}%;">
2+
<view
3+
mut-bind:tap="tapGridItem"
4+
data-grid-index="{{item.index}}"
5+
class="l-grid-item l-class-grid l-grid-class {{index%rowNum !== rowNum-1 &&(showBorder||showColBorder) ? 'side-grid':''}} {{(index<gridItems.length-(gridItems.length%rowNum||rowNum)) &&(showBorder||showRowBorder)? 'center-grid':''}}" wx:for="{{gridItems}}" wx:key="key"
6+
style="min-width:{{100/rowNum}}%;"
7+
>
98
<slot name="{{item.key}}"></slot>
109
</view>
1110
</view>

0 commit comments

Comments
 (0)