feat: 完成图形涂色绘制

This commit is contained in:
2025-08-20 10:49:20 +08:00
parent 64deb9f3be
commit c95bd601e8
12 changed files with 178 additions and 146 deletions
@@ -10,9 +10,9 @@ Component({
type: Boolean,
value: false,
},
singleMode: {
type: Boolean,
value: false,
selectedShapeIndex: {
type: Number,
value: -1,
},
},
/**
@@ -20,6 +20,7 @@ Component({
*/
data: {
shapes: [] as (ShapeCard & { svgDataUrl: string })[],
singleMode: false,
totalSelected: 0,
},
lifetimes: {
@@ -36,8 +37,26 @@ Component({
this.setData({
shapes: shapesWithDataUrl
});
}
},
observers: {
selectedShapeIndex(newVal: number) {
this.setData({
singleMode: newVal !== -1
});
},
},
// pageLifetimes: {
// show: function () {
// console.log('show singleMode', this.data.singleMode);
// },
// hide: function () {
// console.log('hide singleMode', this.data.singleMode);
// },
// resize: function (size) {
// console.log('resize', size);
// }
// },
/**
* 组件的方法列表
*/
@@ -89,9 +108,14 @@ Component({
},
onChange() {
const { shapes } = this.data;
const { shapes, selectedShapeIndex, singleMode } = this.data;
const selectedShapes = shapes.filter(item => item.checked);
this.triggerEvent('onChange', { shapes: selectedShapes, singleMode: this.data.singleMode });
this.triggerEvent('onChange', {
shapes: selectedShapes,
singleMode,
selectedShapeIndex
});
},
},
});