@grid-form/render-naive
Advanced tools
+8
-9
| import { h } from 'vue' | ||
| import { NInput, NInputNumber, NDatePicker, NSwitch, NSelect, NText, NRadioGroup, NRadio, NRadioButton, NAlert, NDivider, NRate, NCheckboxGroup, NCheckbox, NColorPicker, NDynamicTags } from 'naive-ui' | ||
| import { NInput, NTag, NInputNumber, NDatePicker, NSwitch, NSelect, NText, NRadioGroup, NRadio, NRadioButton, NAlert, NDivider, NRate, NCheckboxGroup, NCheckbox, NColorPicker, NDynamicTags } from 'naive-ui' | ||
@@ -9,12 +9,11 @@ import { buildOptions } from '@grid-form/common' | ||
| const buildTag = text=> ()=>h(NTag, {type:"primary", size:"small", bordered:false}, ()=>text) | ||
| const buildSlotWithPrefixAndSuffix = props=>{ | ||
| let slots = {} | ||
| if(!!props.prefix){ | ||
| let prefix = props.prefix | ||
| slots.prefix = ()=> prefix | ||
| } | ||
| if(!!props.suffix){ | ||
| let suffix = props.suffix | ||
| slots.suffix = ()=> suffix | ||
| } | ||
| if(!!props.prefix) | ||
| slots.prefix = buildTag(props.prefix) | ||
| if(!!props.suffix) | ||
| slots.suffix = buildTag(props.suffix) | ||
| delete props.prefix | ||
@@ -21,0 +20,0 @@ delete props.suffix |
+2
-2
| { | ||
| "name": "@grid-form/render-naive", | ||
| "version": "0.0.3", | ||
| "version": "0.0.4", | ||
| "description": "基于 naive-ui 的渲染器", | ||
@@ -15,3 +15,3 @@ "homepage": "https://github.com/0604hx/grid-form", | ||
| "dependencies": { | ||
| "@grid-form/common": "0.0.3" | ||
| "@grid-form/common": "0.0.4" | ||
| }, | ||
@@ -18,0 +18,0 @@ "devDependencies": { |
+5
-3
@@ -13,5 +13,7 @@ <template> | ||
| <n-grid :x-gap="gridGap" :y-gap="gridGap" :cols="form.grid" :style="{width: form.width, margin:'0px auto' }"> | ||
| <n-form-item-gi v-for="(item, index) in form.items" :key="index" :span="item._col" :show-feedback="false" :label="item._text" :show-label="item._text!=undefined"> | ||
| <component v-model:value="formData[item._uuid]" :is="buildComponent(item, renders[item._widget], false)" /> | ||
| </n-form-item-gi> | ||
| <template v-for="(item, index) in form.items" :key="index"> | ||
| <n-form-item-gi v-if="item._hide!=true" :span="item._col" :show-feedback="false" :label="item._text" :show-label="item._text!=undefined"> | ||
| <component v-model:value="formData[item._uuid]" :is="buildComponent(item, renders[item._widget], false)" /> | ||
| </n-form-item-gi> | ||
| </template> | ||
| </n-grid> | ||
@@ -18,0 +20,0 @@ <div class="text-center mt-4"> |
| <!--文件选择框--> | ||
| <!--选择文件--> | ||
| <template> | ||
| <n-input v-model:value="path" :placeholder="placeholder" clearable readonly @click="toSelect" @clear="onClear"> | ||
| <n-input v-model:value="path" :disabled="disabled" :placeholder="placeholder" clearable readonly @click="toSelect" @clear="onClear"> | ||
| <template #prefix> <n-tag size="small" type="default" :bordered="false">选择文件</n-tag> </template> | ||
| <template #suffix> <n-tag size="small" type="info" :bordered="false">{{maxSize}}MB</n-tag> </template> | ||
| <template #suffix> <n-tag size="small" type="primary" :bordered="false">{{maxSize}}MB</n-tag> </template> | ||
| </n-input> | ||
@@ -23,2 +23,3 @@ </template> | ||
| maxSize:{type:Number, default: 5 }, | ||
| disabled:{type:Boolean, default: false}, | ||
| dataType:{type:String, default:""} | ||
@@ -37,2 +38,4 @@ }) | ||
| let toSelect = ()=> { | ||
| if(props.disabled === true) return | ||
| //使用原生 JS 选择文件 | ||
@@ -39,0 +42,0 @@ let input = document.createElement("input") |
8127
3.28%75
-3.85%+ Added
- Removed
Updated