Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Hooke
/
data-table
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Graphs
Network
Create a new issue
Commits
Issue Boards
Authored by
hookehuyr
2023-02-01 11:23:21 +0800
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
dd23c1d57afa754ba83e6a760297e399373f1a8a
dd23c1d5
1 parent
19b0dba2
✨ feat(单选/多选控件): 样式和默认值调整优化
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
49 additions
and
21 deletions
src/components/GenderField/index.vue
src/components/NameField/index.vue
src/views/index.vue
src/components/GenderField/index.vue
View file @
dd23c1d
<!--
* @Date: 2022-08-30 11:34:19
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-02-01 11:
06:05
* @LastEditTime: 2023-02-01 11:
18:31
* @FilePath: /data-table/src/components/GenderField/index.vue
* @Description: 性别选择控件
-->
<template>
<div v-if="HideShow" class="
radio
-field-page">
<div v-if="HideShow" class="
gender
-field-page">
<div class="label">
{{ item.component_props.label
}}<span v-if="item.component_props.required"> *</span>
</div>
<div v-if="item.component_props.note" class="note" v-html="item.component_props.note" />
<van-field :name="item.name" :rules="item.rules">
<van-field
:name="item.name"
:rules="item.rules"
:required="item.component_props.required"
:disabled="item.component_props.disabled"
>
<template #input>
<van-radio-group v-model="item.value" direction="horizontal">
<van-radio name="男">男</van-radio>
<van-radio name="女">女</van-radio>
<van-radio name="男"
:checked-color="themeVars.radioColor"
>男</van-radio>
<van-radio name="女"
:checked-color="themeVars.radioColor"
>女</van-radio>
</van-radio-group>
</template>
</van-field>
...
...
@@ -40,11 +45,12 @@ const HideShow = computed(() => {
})
onMounted(() => {
props.item.value = props.item.component_props.default;
})
</script>
<style lang="less" scoped>
.
radio
-field-page {
.
gender
-field-page {
.label {
padding: 1rem 1rem 0 1rem;
font-size: 0.9rem;
...
...
@@ -61,11 +67,4 @@ onMounted(() => {
white-space: pre;
}
}
:deep(.van-radio) {
border: 1px solid #eaeaea;
border-radius: 0.25rem;
padding: 0.25rem 0.5rem;
// width: 100vw;
}
</style>
...
...
src/components/NameField/index.vue
View file @
dd23c1d
<!--
* @Date: 2022-08-29 14:31:20
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-02-01 1
0:53:53
* @LastEditTime: 2023-02-01 1
1:21:00
* @FilePath: /data-table/src/components/NameField/index.vue
* @Description: 姓名输入框
-->
<template>
<div v-if="HideShow" class="
text
-field-page">
<div v-if="HideShow" class="
name
-field-page">
<div class="label">
{{ item.component_props.label
}}<span v-if="item.component_props.required"> *</span>
...
...
@@ -33,10 +33,13 @@ const props = defineProps({
const HideShow = computed(() => {
return !props.item.component_props.disabled
})
onMounted(() => {
props.item.value = props.item.component_props.default;
})
</script>
<style lang="less" scoped>
.
text
-field-page {
.
name
-field-page {
.label {
padding: 1rem 1rem 0 1rem;
font-size: 0.9rem;
...
...
src/views/index.vue
View file @
dd23c1d
<!--
* @Date: 2022-07-18 10:22:22
* @LastEditors: hookehuyr hookehuyr@gmail.com
* @LastEditTime: 2023-02-01
00:19:00
* @LastEditTime: 2023-02-01
11:22:51
* @FilePath: /data-table/src/views/index.vue
* @Description: 首页
-->
...
...
@@ -50,6 +50,22 @@
{{ PCommit.text ? PCommit.text : '提交' }}
</van-button>
</div>
<!-- <van-cell-group :border="false">
<component
v-for="(item, index) in mockData"
:id="item.key"
:ref="(el) => setRefMap(el, item)"
:key="index"
:is="item.component"
:item="item"
@active="onActive"
/>
</van-cell-group>
<div v-if="mockData.length && PCommit.visible" style="margin: 16px">
<van-button round block type="primary" native-type="submit">
{{ PCommit.text ? PCommit.text : '提交' }}
</van-button>
</div> -->
</van-form>
</van-config-provider>
</div>
...
...
@@ -223,10 +239,20 @@ onMounted(async () => {
value: "",
component: "",
component_props: {
name: "datetime",
tag: "datetime",
label: "时间日期",
data_dateformat: "YYYY-MM-DD HH:mm:ss",
name: "name",
tag: "name",
label: "姓名",
required: true,
},
},
{
key: "222",
value: "",
component: "",
component_props: {
name: "gender",
tag: "gender",
label: "性别",
required: true,
},
},
...
...
Please
register
or
login
to post a comment