Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
jinli gu
Litemall
Commits
b1af78f9
Commit
b1af78f9
authored
Dec 14, 2019
by
Junling Bu
Browse files
chore[litemall-wx]: 使用vant-weapp 1.0
parent
07351378
Changes
311
Hide whitespace changes
Inline
Side-by-side
litemall-wx/lib/vant-weapp/radio/index.d.ts
0 → 100644
View file @
b1af78f9
export
{};
litemall-wx/lib/vant-weapp/radio/index.js
0 → 100644
View file @
b1af78f9
import
{
VantComponent
}
from
'
../common/component
'
;
import
{
addUnit
}
from
'
../common/utils
'
;
VantComponent
({
field
:
true
,
relation
:
{
name
:
'
radio-group
'
,
type
:
'
ancestor
'
,
linked
(
target
)
{
this
.
parent
=
target
;
},
unlinked
()
{
this
.
parent
=
null
;
}
},
classes
:
[
'
icon-class
'
,
'
label-class
'
],
props
:
{
value
:
null
,
disabled
:
Boolean
,
useIconSlot
:
Boolean
,
checkedColor
:
String
,
labelPosition
:
{
type
:
String
,
value
:
'
right
'
},
labelDisabled
:
Boolean
,
shape
:
{
type
:
String
,
value
:
'
round
'
},
iconSize
:
{
type
:
null
,
observer
:
'
setIconSizeUnit
'
}
},
data
:
{
iconSizeWithUnit
:
'
20px
'
},
methods
:
{
setIconSizeUnit
(
val
)
{
this
.
setData
({
iconSizeWithUnit
:
addUnit
(
val
)
});
},
emitChange
(
value
)
{
const
instance
=
this
.
parent
||
this
;
instance
.
$emit
(
'
input
'
,
value
);
instance
.
$emit
(
'
change
'
,
value
);
},
onChange
(
event
)
{
console
.
log
(
event
);
this
.
emitChange
(
this
.
data
.
name
);
},
onClickLabel
()
{
const
{
disabled
,
labelDisabled
,
name
}
=
this
.
data
;
if
(
!
disabled
&&
!
labelDisabled
)
{
this
.
emitChange
(
name
);
}
}
}
});
litemall-wx/lib/vant-weapp/radio/index.json
0 → 100644
View file @
b1af78f9
{
"component"
:
true
,
"usingComponents"
:
{
"van-icon"
:
"../icon/index"
}
}
litemall-wx/lib/vant-weapp/radio/index.wxml
0 → 100644
View file @
b1af78f9
<wxs src="../wxs/utils.wxs" module="utils" />
<view class="van-radio custom-class">
<view
wx:if="{{ labelPosition === 'left' }}"
class="label-class {{ utils.bem('radio__label', [labelPosition, { disabled }]) }}"
bindtap="onClickLabel"
>
<slot />
</view>
<view class="van-radio__icon-wrap" style="font-size: {{ iconSizeWithUnit }};" bindtap="onChange">
<slot wx:if="{{ useIconSlot }}" name="icon" />
<van-icon
wx:else
name="success"
class="{{ utils.bem('radio__icon', [shape, { disabled, checked: value === name }]) }}"
style="{{ checkedColor && !disabled && value === name ? 'border-color:' + checkedColor + '; background-color:' + checkedColor + ';' : '' }}"
custom-class="icon-class"
custom-style="line-height: {{ iconSizeWithUnit }};font-size: .8em;display: block;"
/>
</view>
<view
wx:if="{{ labelPosition === 'right' }}"
class="label-class {{ utils.bem('radio__label', [labelPosition, { disabled }]) }}"
bindtap="onClickLabel"
>
<slot />
</view>
</view>
litemall-wx/lib/vant-weapp/radio/index.wxss
0 → 100644
View file @
b1af78f9
@import '../common/index.wxss';.van-radio{display:-webkit-flex;display:flex;-webkit-align-items:center;align-items:center;overflow:hidden;-webkit-user-select:none;user-select:none}.van-radio__icon-wrap{-webkit-flex:none;flex:none}.van-radio__icon{display:block;box-sizing:border-box;width:1em;height:1em;color:transparent;text-align:center;transition-property:color,border-color,background-color;border:1px solid #c8c9cc;border:1px solid var(--radio-border-color,#c8c9cc);font-size:20px;font-size:var(--radio-size,20px);transition-duration:.2s;transition-duration:var(--radio-transition-duration,.2s)}.van-radio__icon--round{border-radius:100%}.van-radio__icon--checked{color:#fff;color:var(--white,#fff);background-color:#1989fa;background-color:var(--radio-checked-icon-color,#1989fa);border-color:#1989fa;border-color:var(--radio-checked-icon-color,#1989fa)}.van-radio__icon--disabled{background-color:#ebedf0;background-color:var(--radio-disabled-background-color,#ebedf0);border-color:#c8c9cc;border-color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__icon--disabled.van-radio__icon--checked{color:#c8c9cc;color:var(--radio-disabled-icon-color,#c8c9cc)}.van-radio__label{word-wrap:break-word;margin-left:10px;margin-left:var(--radio-label-margin,10px);color:#323233;color:var(--radio-label-color,#323233);line-height:20px;line-height:var(--radio-size,20px)}.van-radio__label--left{float:left;margin:0 10px 0 0;margin:0 var(--radio-label-margin,10px) 0 0}.van-radio__label--disabled{color:#c8c9cc;color:var(--radio-disabled-label-color,#c8c9cc)}.van-radio__label:empty{margin:0}
\ No newline at end of file
litemall-wx/lib/vant-weapp/rate/index.d.ts
0 → 100644
View file @
b1af78f9
export
{};
litemall-wx/lib/vant-weapp/rate/index.js
0 → 100644
View file @
b1af78f9
import
{
VantComponent
}
from
'
../common/component
'
;
import
{
addUnit
}
from
'
../common/utils
'
;
VantComponent
({
field
:
true
,
classes
:
[
'
icon-class
'
],
props
:
{
value
:
Number
,
readonly
:
Boolean
,
disabled
:
Boolean
,
allowHalf
:
Boolean
,
size
:
{
type
:
null
,
observer
:
'
setSizeWithUnit
'
},
icon
:
{
type
:
String
,
value
:
'
star
'
},
voidIcon
:
{
type
:
String
,
value
:
'
star-o
'
},
color
:
{
type
:
String
,
value
:
'
#ffd21e
'
},
voidColor
:
{
type
:
String
,
value
:
'
#c7c7c7
'
},
disabledColor
:
{
type
:
String
,
value
:
'
#bdbdbd
'
},
count
:
{
type
:
Number
,
value
:
5
},
gutter
:
{
type
:
null
,
observer
:
'
setGutterWithUnit
'
},
touchable
:
{
type
:
Boolean
,
value
:
true
}
},
data
:
{
innerValue
:
0
,
gutterWithUnit
:
undefined
,
sizeWithUnit
:
null
},
watch
:
{
value
(
value
)
{
if
(
value
!==
this
.
data
.
innerValue
)
{
this
.
setData
({
innerValue
:
value
});
}
}
},
methods
:
{
setGutterWithUnit
(
val
)
{
this
.
setData
({
gutterWithUnit
:
addUnit
(
val
)
});
},
setSizeWithUnit
(
size
)
{
this
.
setData
({
sizeWithUnit
:
addUnit
(
size
)
});
},
onSelect
(
event
)
{
const
{
data
}
=
this
;
const
{
score
}
=
event
.
currentTarget
.
dataset
;
if
(
!
data
.
disabled
&&
!
data
.
readonly
)
{
this
.
setData
({
innerValue
:
score
+
1
});
this
.
$emit
(
'
input
'
,
score
+
1
);
this
.
$emit
(
'
change
'
,
score
+
1
);
}
},
onTouchMove
(
event
)
{
const
{
touchable
}
=
this
.
data
;
if
(
!
touchable
)
return
;
const
{
clientX
}
=
event
.
touches
[
0
];
this
.
getRect
(
'
.van-rate__icon
'
,
true
).
then
((
list
)
=>
{
const
target
=
list
.
sort
(
item
=>
item
.
right
-
item
.
left
)
.
find
(
item
=>
clientX
>=
item
.
left
&&
clientX
<=
item
.
right
);
if
(
target
!=
null
)
{
this
.
onSelect
(
Object
.
assign
(
Object
.
assign
({},
event
),
{
currentTarget
:
target
}));
}
});
}
}
});
litemall-wx/lib/vant-weapp/rate/index.json
0 → 100644
View file @
b1af78f9
{
"component"
:
true
,
"usingComponents"
:
{
"van-icon"
:
"../icon/index"
}
}
litemall-wx/lib/vant-weapp/rate/index.wxml
0 → 100644
View file @
b1af78f9
<wxs src="../wxs/utils.wxs" module="utils" />
<view
class="van-rate custom-class"
bind:touchmove="onTouchMove"
>
<view
class="van-rate__item"
wx:for="{{ count }}"
wx:key="index"
style="padding-right: {{ index !== count - 1 ? gutterWithUnit : '' }}"
>
<van-icon
name="{{ index + 1 <= innerValue ? icon : voidIcon }}"
class="van-rate__icon"
style="font-size :{{ size? sizeWithUnit : ''}}"
custom-class="icon-class"
data-score="{{ index }}"
color="{{ disabled ? disabledColor : index + 1 <= innerValue ? color : voidColor }}"
bind:click="onSelect"
/>
<van-icon
wx:if="{{ allowHalf }}"
name="{{ index + 0.5 <= innerValue ? icon : voidIcon }}"
class="{{ utils.bem('rate__icon', ['half']) }}"
style="font-size :{{ size? sizeWithUnit : ''}}"
custom-class="icon-class"
data-score="{{ index - 0.5 }}"
color="{{ disabled ? disabledColor : index + 0.5 <= innerValue ? color : voidColor }}"
bind:click="onSelect"
/>
</view>
</view>
litemall-wx/lib/vant-weapp/rate/index.wxss
0 → 100644
View file @
b1af78f9
@import '../common/index.wxss';.van-rate{display:-webkit-inline-flex;display:inline-flex;-webkit-user-select:none;user-select:none}.van-rate__item{position:relative;padding:0 2px;padding:0 var(--rate-horizontal-padding,2px)}.van-rate__icon{display:block;height:1em;font-size:20px;font-size:var(--rate-icon-size,20px)}.van-rate__icon--half{position:absolute;top:0;width:.5em;overflow:hidden;left:2px;left:var(--rate-horizontal-padding,2px)}
\ No newline at end of file
litemall-wx/lib/vant-weapp/row/index.d.ts
0 → 100644
View file @
b1af78f9
export
{};
litemall-wx/lib/vant-weapp/row/index.js
0 → 100644
View file @
b1af78f9
import
{
VantComponent
}
from
'
../common/component
'
;
VantComponent
({
relation
:
{
name
:
'
col
'
,
type
:
'
descendant
'
,
linked
(
target
)
{
if
(
this
.
data
.
gutter
)
{
target
.
setGutter
(
this
.
data
.
gutter
);
}
}
},
props
:
{
gutter
:
Number
},
watch
:
{
gutter
:
'
setGutter
'
},
mounted
()
{
if
(
this
.
data
.
gutter
)
{
this
.
setGutter
();
}
},
methods
:
{
setGutter
()
{
const
{
gutter
}
=
this
.
data
;
const
margin
=
`-
${
Number
(
gutter
)
/
2
}
px`
;
const
style
=
gutter
?
`margin-right:
${
margin
}
; margin-left:
${
margin
}
;`
:
''
;
this
.
setData
({
style
});
this
.
getRelationNodes
(
'
../col/index
'
).
forEach
(
col
=>
{
col
.
setGutter
(
this
.
data
.
gutter
);
});
}
}
});
litemall-wx/lib/vant-weapp/row/index.json
0 → 100644
View file @
b1af78f9
{
"component"
:
true
}
litemall-wx/lib/vant-weapp/row/index.wxml
0 → 100644
View file @
b1af78f9
<view class="custom-class van-row" style="{{ style }}">
<slot />
</view>
litemall-wx/lib/vant-weapp/row/index.wxss
0 → 100644
View file @
b1af78f9
@import '../common/index.wxss';.van-row:after{display:table;clear:both;content:""}
\ No newline at end of file
litemall-wx/lib/vant-weapp/search/index.d.ts
0 → 100644
View file @
b1af78f9
export
{};
litemall-wx/lib/vant-weapp/search/index.js
0 → 100644
View file @
b1af78f9
import
{
VantComponent
}
from
'
../common/component
'
;
VantComponent
({
field
:
true
,
classes
:
[
'
field-class
'
,
'
input-class
'
,
'
cancel-class
'
],
props
:
{
label
:
String
,
focus
:
Boolean
,
error
:
Boolean
,
disabled
:
Boolean
,
readonly
:
Boolean
,
inputAlign
:
String
,
showAction
:
Boolean
,
useActionSlot
:
Boolean
,
useLeftIconSlot
:
Boolean
,
useRightIconSlot
:
Boolean
,
leftIcon
:
{
type
:
String
,
value
:
'
search
'
},
rightIcon
:
String
,
placeholder
:
String
,
placeholderStyle
:
String
,
actionText
:
{
type
:
String
,
value
:
'
取消
'
},
background
:
{
type
:
String
,
value
:
'
#ffffff
'
},
maxlength
:
{
type
:
Number
,
value
:
-
1
},
shape
:
{
type
:
String
,
value
:
'
square
'
},
clearable
:
{
type
:
Boolean
,
value
:
true
}
},
methods
:
{
onChange
(
event
)
{
this
.
setData
({
value
:
event
.
detail
});
this
.
$emit
(
'
change
'
,
event
.
detail
);
},
onCancel
()
{
/**
* 修复修改输入框值时,输入框失焦和赋值同时触发,赋值失效
* https://github.com/youzan/@vant/weapp/issues/1768
*/
setTimeout
(()
=>
{
this
.
setData
({
value
:
''
});
this
.
$emit
(
'
cancel
'
);
this
.
$emit
(
'
change
'
,
''
);
},
200
);
},
onSearch
()
{
this
.
$emit
(
'
search
'
,
this
.
data
.
value
);
},
onFocus
()
{
this
.
$emit
(
'
focus
'
);
},
onBlur
()
{
this
.
$emit
(
'
blur
'
);
},
onClear
()
{
this
.
$emit
(
'
clear
'
);
},
}
});
litemall-wx/lib/vant-weapp/search/index.json
0 → 100644
View file @
b1af78f9
{
"component"
:
true
,
"usingComponents"
:
{
"van-field"
:
"../field/index"
}
}
litemall-wx/lib/vant-weapp/search/index.wxml
0 → 100644
View file @
b1af78f9
<wxs src="../wxs/utils.wxs" module="utils" />
<view
class="{{ utils.bem('search', { withaction: showAction || useActionSlot }) }} custom-class"
style="background: {{ background }}"
>
<view class="{{ utils.bem('search__content', [shape]) }}">
<view class="van-search__label" wx:if="{{ label }}">{{ label }}</view>
<slot wx:else name="label" />
<van-field
type="search"
left-icon="{{ !useLeftIconSlot ? leftIcon : '' }}"
right-icon="{{ !useRightIconSlot ? rightIcon : '' }}"
focus="{{ focus }}"
error="{{ error }}"
border="{{ false }}"
confirm-type="search"
class="van-search__field field-class"
value="{{ value }}"
disabled="{{ disabled }}"
readonly="{{ readonly }}"
clearable="{{ clearable }}"
maxlength="{{ maxlength }}"
input-align="{{ inputAlign }}"
input-class="input-class"
placeholder="{{ placeholder }}"
placeholder-style="{{ placeholderStyle }}"
custom-style="padding: 5px 10px 5px 0; background-color: transparent;"
bind:blur="onBlur"
bind:focus="onFocus"
bind:change="onChange"
bind:confirm="onSearch"
bind:clear="onClear"
>
<slot wx:if="{{ useLeftIconSlot }}" name="left-icon" slot="left-icon" />
<slot wx:if="{{ useRightIconSlot }}" name="right-icon" slot="right-icon" />
</van-field>
</view>
<view
wx:if="{{ showAction || useActionSlot }}"
class="van-search__action"
hover-class="van-search__action--hover"
hover-stay-time="70"
>
<slot wx:if="{{ useActionSlot }}" name="action" />
<view wx:else bind:tap="onCancel" class="cancel-class">{{ actionText }}</view>
</view>
</view>
litemall-wx/lib/vant-weapp/search/index.wxss
0 → 100644
View file @
b1af78f9
@import '../common/index.wxss';.van-search{-webkit-align-items:center;align-items:center;box-sizing:border-box;padding:10px 12px;padding:var(--search-padding,10px 12px)}.van-search,.van-search__content{display:-webkit-flex;display:flex}.van-search__content{-webkit-flex:1;flex:1;padding-left:8px;padding-left:var(--padding-xs,8px);border-radius:2px;border-radius:var(--border-radius-sm,2px);background-color:#f7f8fa;background-color:var(--search-background-color,#f7f8fa)}.van-search__content--round{border-radius:17px;border-radius:calc(var(--search-input-height, 34px)/2)}.van-search__label{padding:0 5px;padding:var(--search-label-padding,0 5px);font-size:14px;font-size:var(--search-label-font-size,14px);line-height:34px;line-height:var(--search-input-height,34px);color:#323233;color:var(--search-label-color,#323233)}.van-search__field{-webkit-flex:1;flex:1}.van-search__field__left-icon{color:#969799;color:var(--search-left-icon-color,#969799)}.van-search--withaction{padding-right:0}.van-search__action{padding:0 8px;padding:var(--search-action-padding,0 8px);font-size:14px;font-size:var(--search-action-font-size,14px);line-height:34px;line-height:var(--search-input-height,34px);color:#323233;color:var(--search-action-text-color,#323233)}.van-search__action--hover{background-color:#f2f3f5;background-color:var(--active-color,#f2f3f5)}
\ No newline at end of file
Prev
1
…
7
8
9
10
11
12
13
14
15
16
Next
Write
Preview
Supports
Markdown
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