12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- <template>
- <view class="grace-nowrap grace-flex-vcenter" @tap.stop="changeStatus">
- <text v-if="status" class="grace-check-btn grace-icons" :style="{fontSize:size+'rpx', lineHeight:size+'rpx', color : checkedColor}"></text>
- <text v-else class="grace-check-btn grace-icons" :style="{fontSize:size+'rpx', lineHeight:size+'rpx', color : color}"></text>
- <view class="grace-check-lable"><slot></slot></view>
- </view>
- </template>
- <script>
- export default {
- props: {
- size : {
- type : Number,
- default : 38
- },
- color : {
- type : String,
- default : '#EEEEEE'
- },
- checked : {
- type : Boolean,
- default : false
- },
- checkedColor : {
- type : String,
- default : '#FF0036'
- },
- parameter : {
- type : Array,
- default : function () {
- return []
- }
- }
- },
- data() {
- return {
- status : false
- }
- },
- watch: {
- checked : function (val, old) {
- this.status = val;
- }
- },
- created : function(){
- this.status = this.checked;
- },
- methods:{
- changeStatus : function(){
- this.status = !this.status;
- this.$emit('change', [this.status, this.parameter]);
- }
- }
- }
- </script>
- <style scoped>
- .grace-check-btn{color:#999999;}
- .grace-check-lable{color:#555555; margin-left:20rpx; font-size:26rpx; width:700rpx; flex:1;}
- </style>
|