Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
U
uview-ui
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
李晖
uview-ui
Commits
5874cf8e
Commit
5874cf8e
authored
Jun 23, 2020
by
wlxuqu
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev' into yiruiwen
parents
f76fb96f
0f38bd68
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
26 deletions
+26
-26
u-select.vue
uview-ui/components/u-select/u-select.vue
+19
-19
u-waterfall.vue
uview-ui/components/u-waterfall/u-waterfall.vue
+7
-7
No files found.
uview-ui/components/u-select/u-select.vue
View file @
5874cf8e
...
@@ -69,7 +69,7 @@
...
@@ -69,7 +69,7 @@
* @event {Function} confirm 点击确定按钮,返回当前选择的值
* @event {Function} confirm 点击确定按钮,返回当前选择的值
* @example <u-select v-model="show" :list="list"></u-select>
* @example <u-select v-model="show" :list="list"></u-select>
*/
*/
export
default
{
export
default
{
props
:
{
props
:
{
// 列数据
// 列数据
...
@@ -155,7 +155,7 @@ export default {
...
@@ -155,7 +155,7 @@ export default {
// 每次队列发生变化时,保存选择的结果
// 每次队列发生变化时,保存选择的结果
selectValue
:
[],
selectValue
:
[],
// 上一次列变化时的index
// 上一次列变化时的index
lastSelectIndex
:
[],
lastSelectIndex
:
[],
// 列数
// 列数
columnNum
:
0
,
columnNum
:
0
,
// 列是否还在滑动中,微信小程序如果在滑动中就点确定,结果可能不准确
// 列是否还在滑动中,微信小程序如果在滑动中就点确定,结果可能不准确
...
@@ -262,26 +262,26 @@ export default {
...
@@ -262,26 +262,26 @@ export default {
// 列选项
// 列选项
columnChange
(
e
)
{
columnChange
(
e
)
{
let
index
=
null
;
let
index
=
null
;
let
c
lo
umnIndex
=
e
.
detail
.
value
;
let
c
ol
umnIndex
=
e
.
detail
.
value
;
// 由于后面是需要push进数组的,所以需要先清空数组
// 由于后面是需要push进数组的,所以需要先清空数组
this
.
selectValue
=
[];
this
.
selectValue
=
[];
if
(
this
.
mode
==
'
mutil-column-auto
'
)
{
if
(
this
.
mode
==
'
mutil-column-auto
'
)
{
// 对比前后两个数组,寻找变更的是哪一列,如果某一个元素不同,即可判定该列发生了变化
// 对比前后两个数组,寻找变更的是哪一列,如果某一个元素不同,即可判定该列发生了变化
this
.
lastSelectIndex
.
map
((
val
,
idx
)
=>
{
this
.
lastSelectIndex
.
map
((
val
,
idx
)
=>
{
if
(
val
!=
c
lo
umnIndex
[
idx
])
index
=
idx
;
if
(
val
!=
c
ol
umnIndex
[
idx
])
index
=
idx
;
});
});
this
.
defaultSelector
=
c
lo
umnIndex
;
this
.
defaultSelector
=
c
ol
umnIndex
;
for
(
let
i
=
index
+
1
;
i
<
this
.
columnNum
;
i
++
)
{
for
(
let
i
=
index
+
1
;
i
<
this
.
columnNum
;
i
++
)
{
// 当前变化列的下一列的数据,需要获取上一列的数据,同时需要指定是上一列的第几个的children,再往后的
// 当前变化列的下一列的数据,需要获取上一列的数据,同时需要指定是上一列的第几个的children,再往后的
// 默认是队列的第一个为默认选项
// 默认是队列的第一个为默认选项
this
.
columnData
[
i
]
=
this
.
columnData
[
i
-
1
][
i
-
1
==
index
?
c
lo
umnIndex
[
index
]
:
0
][
this
.
childName
];
this
.
columnData
[
i
]
=
this
.
columnData
[
i
-
1
][
i
-
1
==
index
?
c
ol
umnIndex
[
index
]
:
0
][
this
.
childName
];
// 改变的列之后的所有列,默认选中第一个
// 改变的列之后的所有列,默认选中第一个
this
.
defaultSelector
[
i
]
=
0
;
this
.
defaultSelector
[
i
]
=
0
;
}
}
// 在历遍的过程中,可能由于上一步修改this.columnData,导致产生连锁反应,程序触发columnChange,会有多次调用
// 在历遍的过程中,可能由于上一步修改this.columnData,导致产生连锁反应,程序触发columnChange,会有多次调用
// 只有在最后一次数据稳定后的结果是正确的,此前的历遍中,可能会产生undefined,故需要判断
// 只有在最后一次数据稳定后的结果是正确的,此前的历遍中,可能会产生undefined,故需要判断
c
lo
umnIndex
.
map
((
item
,
index
)
=>
{
c
ol
umnIndex
.
map
((
item
,
index
)
=>
{
let
data
=
this
.
columnData
[
index
][
c
lo
umnIndex
[
index
]];
let
data
=
this
.
columnData
[
index
][
c
ol
umnIndex
[
index
]];
let
tmp
=
{
let
tmp
=
{
value
:
data
?
data
[
this
.
valueName
]
:
null
,
value
:
data
?
data
[
this
.
valueName
]
:
null
,
label
:
data
?
data
[
this
.
labelName
]
:
null
,
label
:
data
?
data
[
this
.
labelName
]
:
null
,
...
@@ -289,12 +289,12 @@ export default {
...
@@ -289,12 +289,12 @@ export default {
// 判断是否有需要额外携带的参数
// 判断是否有需要额外携带的参数
if
(
data
&&
data
.
extra
)
tmp
.
extra
=
data
.
extra
;
if
(
data
&&
data
.
extra
)
tmp
.
extra
=
data
.
extra
;
this
.
selectValue
.
push
(
tmp
);
this
.
selectValue
.
push
(
tmp
);
})
})
// 保存这一次的结果,用于下次列发生变化时作比较
// 保存这一次的结果,用于下次列发生变化时作比较
this
.
lastSelectIndex
=
c
lo
umnIndex
;
this
.
lastSelectIndex
=
c
ol
umnIndex
;
}
else
if
(
this
.
mode
==
'
single-column
'
)
{
}
else
if
(
this
.
mode
==
'
single-column
'
)
{
let
data
=
this
.
columnData
[
0
][
c
lo
umnIndex
[
0
]];
let
data
=
this
.
columnData
[
0
][
c
ol
umnIndex
[
0
]];
// 初始默认选中值
// 初始默认选中值
let
tmp
=
{
let
tmp
=
{
value
:
data
?
data
[
this
.
valueName
]
:
null
,
value
:
data
?
data
[
this
.
valueName
]
:
null
,
...
@@ -305,8 +305,8 @@ export default {
...
@@ -305,8 +305,8 @@ export default {
this
.
selectValue
.
push
(
tmp
);
this
.
selectValue
.
push
(
tmp
);
}
else
if
(
this
.
mode
==
'
mutil-column
'
)
{
}
else
if
(
this
.
mode
==
'
mutil-column
'
)
{
// 初始默认选中值
// 初始默认选中值
c
lo
umnIndex
.
map
((
item
,
index
)
=>
{
c
ol
umnIndex
.
map
((
item
,
index
)
=>
{
let
data
=
this
.
columnData
[
index
][
c
lo
umnIndex
[
index
]];
let
data
=
this
.
columnData
[
index
][
c
ol
umnIndex
[
index
]];
// 初始默认选中值
// 初始默认选中值
let
tmp
=
{
let
tmp
=
{
value
:
data
?
data
[
this
.
valueName
]
:
null
,
value
:
data
?
data
[
this
.
valueName
]
:
null
,
...
@@ -340,12 +340,12 @@ export default {
...
@@ -340,12 +340,12 @@ export default {
@import
"../../libs/css/style.components.scss"
;
@import
"../../libs/css/style.components.scss"
;
.u-select
{
.u-select
{
&
__action
{
&
__action
{
position
:
relative
;
position
:
relative
;
line-height
:
$u-form-item-height
;
line-height
:
$u-form-item-height
;
height
:
$u-form-item-height
;
height
:
$u-form-item-height
;
&
__icon
{
&
__icon
{
position
:
absolute
;
position
:
absolute
;
right
:
20rpx
;
right
:
20rpx
;
...
@@ -353,25 +353,25 @@ export default {
...
@@ -353,25 +353,25 @@ export default {
transition
:
transform
.4s
;
transition
:
transform
.4s
;
transform
:
translateY
(
-50%
);
transform
:
translateY
(
-50%
);
z-index
:
1
;
z-index
:
1
;
&
--reverse
{
&
--reverse
{
transform
:
rotate
(
-180deg
)
translateY
(
50%
);
transform
:
rotate
(
-180deg
)
translateY
(
50%
);
}
}
}
}
}
}
&
__hader
{
&
__hader
{
&
__title
{
&
__title
{
color
:
$u-content-color
;
color
:
$u-content-color
;
}
}
}
}
&
--border
{
&
--border
{
border-radius
:
6rpx
;
border-radius
:
6rpx
;
border-radius
:
4px
;
border-radius
:
4px
;
border
:
1px
solid
$u-form-item-border-color
;
border
:
1px
solid
$u-form-item-border-color
;
}
}
&
__header
{
&
__header
{
display
:
flex
;
display
:
flex
;
align-items
:
center
;
align-items
:
center
;
...
...
uview-ui/components/u-waterfall/u-waterfall.vue
View file @
5874cf8e
<
template
>
<
template
>
<view
class=
"u-waterfall"
>
<view
class=
"u-waterfall"
>
<view
id=
"u-left-c
loumn"
class=
"u-clo
umn"
><slot
name=
"left"
:leftList=
"leftList"
></slot></view>
<view
id=
"u-left-c
olumn"
class=
"u-col
umn"
><slot
name=
"left"
:leftList=
"leftList"
></slot></view>
<view
id=
"u-right-c
loumn"
class=
"u-clo
umn"
><slot
name=
"right"
:rightList=
"rightList"
></slot></view>
<view
id=
"u-right-c
olumn"
class=
"u-col
umn"
><slot
name=
"right"
:rightList=
"rightList"
></slot></view>
</view>
</view>
</
template
>
</
template
>
...
@@ -73,8 +73,8 @@ export default {
...
@@ -73,8 +73,8 @@ export default {
methods
:
{
methods
:
{
async
splitData
()
{
async
splitData
()
{
if
(
!
this
.
tempList
.
length
)
return
;
if
(
!
this
.
tempList
.
length
)
return
;
let
leftRect
=
await
this
.
$uGetRect
(
'
#u-left-c
lo
umn
'
);
let
leftRect
=
await
this
.
$uGetRect
(
'
#u-left-c
ol
umn
'
);
let
rightRect
=
await
this
.
$uGetRect
(
'
#u-right-c
lo
umn
'
);
let
rightRect
=
await
this
.
$uGetRect
(
'
#u-right-c
ol
umn
'
);
// 如果左边小于或等于右边,就添加到左边,否则添加到右边
// 如果左边小于或等于右边,就添加到左边,否则添加到右边
let
item
=
this
.
tempList
[
0
];
let
item
=
this
.
tempList
[
0
];
// 解决多次快速上拉后,可能数据会乱的问题,因为经过上面的两个await节点查询阻塞一定时间,加上后面的定时器干扰
// 解决多次快速上拉后,可能数据会乱的问题,因为经过上面的两个await节点查询阻塞一定时间,加上后面的定时器干扰
...
@@ -116,7 +116,7 @@ export default {
...
@@ -116,7 +116,7 @@ export default {
// 清除某一条指定的数据,根据id实现
// 清除某一条指定的数据,根据id实现
remove
(
id
)
{
remove
(
id
)
{
// 如果findIndex找不到合适的条件,就会返回-1
// 如果findIndex找不到合适的条件,就会返回-1
let
index
=
-
1
;
let
index
=
-
1
;
index
=
this
.
leftList
.
findIndex
(
val
=>
val
[
this
.
idKey
]
==
id
);
index
=
this
.
leftList
.
findIndex
(
val
=>
val
[
this
.
idKey
]
==
id
);
if
(
index
!=
-
1
)
{
if
(
index
!=
-
1
)
{
// 如果index不等于-1,说明已经找到了要找的id,根据index索引删除这一条数据
// 如果index不等于-1,说明已经找到了要找的id,根据index索引删除这一条数据
...
@@ -133,7 +133,7 @@ export default {
...
@@ -133,7 +133,7 @@ export default {
// 修改某条数据的某个属性
// 修改某条数据的某个属性
modify
(
id
,
key
,
value
)
{
modify
(
id
,
key
,
value
)
{
// 如果findIndex找不到合适的条件,就会返回-1
// 如果findIndex找不到合适的条件,就会返回-1
let
index
=
-
1
;
let
index
=
-
1
;
index
=
this
.
leftList
.
findIndex
(
val
=>
val
[
this
.
idKey
]
==
id
);
index
=
this
.
leftList
.
findIndex
(
val
=>
val
[
this
.
idKey
]
==
id
);
if
(
index
!=
-
1
)
{
if
(
index
!=
-
1
)
{
// 如果index不等于-1,说明已经找到了要找的id,修改对应key的值
// 如果index不等于-1,说明已经找到了要找的id,修改对应key的值
...
@@ -167,7 +167,7 @@ export default {
...
@@ -167,7 +167,7 @@ export default {
align-items
:
flex-start
;
align-items
:
flex-start
;
}
}
.u-c
lo
umn
{
.u-c
ol
umn
{
display
:
flex
;
display
:
flex
;
flex
:
1
;
flex
:
1
;
flex-direction
:
column
;
flex-direction
:
column
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment