|
13 | 13 | <template v-for="(cell, cellIndex) in cellList" :key="cellIndex">
|
14 | 14 | <template v-if="selectedHotAreaIndex === cellIndex">
|
15 | 15 | <el-form-item :prop="`cell[${cellIndex}].type`" label="类型">
|
16 |
| - <el-radio-group v-model="cell.type"> |
| 16 | + <el-radio-group v-model="cell.type" @change="handleHotAreaSelected(cell, cellIndex)"> |
17 | 17 | <el-radio value="text">文字</el-radio>
|
18 | 18 | <el-radio value="image">图片</el-radio>
|
19 | 19 | <el-radio value="search">搜索框</el-radio>
|
|
44 | 44 | </template>
|
45 | 45 | <!-- 3. 搜索框 -->
|
46 | 46 | <template v-else>
|
| 47 | + <el-form-item label="框体颜色" prop="backgroundColor"> |
| 48 | + <ColorInput v-model="cell.backgroundColor" /> |
| 49 | + </el-form-item> |
| 50 | + <el-form-item class="lef" label="文本颜色" prop="textColor"> |
| 51 | + <ColorInput v-model="cell.textColor" /> |
| 52 | + </el-form-item> |
47 | 53 | <el-form-item :prop="`cell[${cellIndex}].placeholder`" label="提示文字">
|
48 | 54 | <el-input v-model="cell.placeholder" maxlength="10" show-word-limit />
|
49 | 55 | </el-form-item>
|
| 56 | + <el-form-item label="文本位置" prop="placeholderPosition"> |
| 57 | + <el-radio-group v-model="cell!.placeholderPosition"> |
| 58 | + <el-tooltip content="居左" placement="top"> |
| 59 | + <el-radio-button value="left"> |
| 60 | + <Icon icon="ant-design:align-left-outlined" /> |
| 61 | + </el-radio-button> |
| 62 | + </el-tooltip> |
| 63 | + <el-tooltip content="居中" placement="top"> |
| 64 | + <el-radio-button value="center"> |
| 65 | + <Icon icon="ant-design:align-center-outlined" /> |
| 66 | + </el-radio-button> |
| 67 | + </el-tooltip> |
| 68 | + </el-radio-group> |
| 69 | + </el-form-item> |
| 70 | + <el-form-item label="扫一扫" prop="showScan"> |
| 71 | + <el-switch v-model="cell!.showScan" /> |
| 72 | + </el-form-item> |
50 | 73 | <el-form-item :prop="`cell[${cellIndex}].borderRadius`" label="圆角">
|
51 | 74 | <el-slider
|
52 | 75 | v-model="cell.borderRadius"
|
@@ -88,10 +111,17 @@ const cellCount = computed(() => (props.isMp ? 6 : 8))
|
88 | 111 | const selectedHotAreaIndex = ref(0)
|
89 | 112 | const handleHotAreaSelected = (cellValue: NavigationBarCellProperty, index: number) => {
|
90 | 113 | selectedHotAreaIndex.value = index
|
| 114 | + // 默认设置为选中文字,并设置属性 |
91 | 115 | if (!cellValue.type) {
|
92 | 116 | cellValue.type = 'text'
|
93 | 117 | cellValue.textColor = '#111111'
|
94 | 118 | }
|
| 119 | + // 如果点击的是搜索框,则初始化搜索框的属性 |
| 120 | + if (cellValue.type === 'search') { |
| 121 | + cellValue.placeholderPosition = 'left' |
| 122 | + cellValue.backgroundColor = '#EEEEEE' |
| 123 | + cellValue.textColor = '#969799' |
| 124 | + } |
95 | 125 | }
|
96 | 126 | </script>
|
97 | 127 |
|
|
0 commit comments