mirror of
https://gitee.com/vant-contrib/vant.git
synced 2025-04-06 03:57:59 +08:00
[improvement] Rate: jsx (#2619)
This commit is contained in:
parent
11dd76d6b2
commit
2d4da81401
@ -1,28 +1,10 @@
|
|||||||
<template>
|
|
||||||
<div
|
|
||||||
:class="b()"
|
|
||||||
@touchmove="onTouchMove"
|
|
||||||
>
|
|
||||||
<icon
|
|
||||||
v-for="(full, index) in list"
|
|
||||||
:key="index"
|
|
||||||
:class="b('item')"
|
|
||||||
:size="size + 'px'"
|
|
||||||
:data-index="index"
|
|
||||||
:name="full ? icon : voidIcon"
|
|
||||||
:color="disabled ? disabledColor : full ? color : voidColor"
|
|
||||||
@click="onSelect(index)"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</template>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
/* eslint-disable prefer-spread */
|
/* eslint-disable prefer-spread */
|
||||||
import create from '../utils/create';
|
import { use } from '../utils';
|
||||||
|
import Icon from '../icon';
|
||||||
|
|
||||||
export default create({
|
const [sfc, bem] = use('rate');
|
||||||
name: 'rate',
|
|
||||||
|
|
||||||
|
export default sfc({
|
||||||
props: {
|
props: {
|
||||||
value: Number,
|
value: Number,
|
||||||
readonly: Boolean,
|
readonly: Boolean,
|
||||||
@ -88,6 +70,25 @@ export default create({
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
render(h) {
|
||||||
|
return (
|
||||||
|
<div class={bem()} onTouchmove={this.onTouchMove}>
|
||||||
|
{this.list.map((full, index) => (
|
||||||
|
<Icon
|
||||||
|
key={index}
|
||||||
|
class={bem('item')}
|
||||||
|
size={`${this.size}px`}
|
||||||
|
data-index={index}
|
||||||
|
name={full ? this.icon : this.voidIcon}
|
||||||
|
color={this.disabled ? this.disabledColor : full ? this.color : this.voidColor}
|
||||||
|
onClick={() => {
|
||||||
|
this.onSelect(index);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
))}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
|
Loading…
x
Reference in New Issue
Block a user