2020-02-05 12:14:05 +08:00
|
|
|
# Label Placement Left
|
2019-11-09 00:25:06 +08:00
|
|
|
```html
|
2020-03-03 14:34:24 +08:00
|
|
|
<n-radio-group v-model="size" name="left-size" style="margin-bottom: 12px;">
|
|
|
|
<n-radio-button value="small">Small</n-radio-button>
|
|
|
|
<n-radio-button value="medium" >Medium</n-radio-button>
|
|
|
|
<n-radio-button value="large">Large</n-radio-button>
|
|
|
|
</n-radio-group>
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-form
|
|
|
|
:model="model"
|
2019-11-11 12:44:36 +08:00
|
|
|
:rules="rules"
|
2019-11-09 00:25:06 +08:00
|
|
|
ref="form"
|
2019-11-09 13:38:06 +08:00
|
|
|
label-placement="left"
|
2019-11-09 00:25:06 +08:00
|
|
|
label-align="right"
|
2020-03-03 14:34:24 +08:00
|
|
|
:size="size"
|
2019-11-09 13:38:06 +08:00
|
|
|
:label-width="160"
|
2019-11-09 00:25:06 +08:00
|
|
|
:style="{
|
2019-11-09 13:38:06 +08:00
|
|
|
maxWidth: '640px'
|
2019-11-09 00:25:06 +08:00
|
|
|
}"
|
|
|
|
>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Input" path="inputValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-input placeholder="Input" v-model="model.inputValue" />
|
2019-11-09 00:25:06 +08:00
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Textarea" path="textareaValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-input placeholder="Textarea" v-model="model.textareaValue" type="textarea"
|
|
|
|
:autosize="{
|
|
|
|
minRows: 3,
|
|
|
|
maxRows: 5
|
|
|
|
}"
|
|
|
|
/>
|
2019-11-09 00:25:06 +08:00
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Select" path="selectValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-select placeholder="Select" :options="generalOptions" v-model="model.selectValue"/>
|
2019-11-09 00:25:06 +08:00
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Multiple Select" path="multipleSelectValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-select placeholder="Select" :options="generalOptions" v-model="model.multipleSelectValue" multiple/>
|
2019-11-09 00:25:06 +08:00
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Datetime" path="datetimeValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-date-picker type="datetime" v-model="model.datetimeValue"/>
|
2019-11-09 00:25:06 +08:00
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Switch" path="switchValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-switch v-model="model.switchValue" />
|
2019-11-09 00:25:06 +08:00
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Checkbox Group" path="checkboxGroupValue">
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-checkbox-group v-model="model.checkboxGroupValue">
|
|
|
|
<n-checkbox value="Option 1">Option 1</n-checkbox>
|
|
|
|
<n-checkbox value="Option 2">Option 2</n-checkbox>
|
|
|
|
<n-checkbox value="Option 3">Option 3</n-checkbox>
|
|
|
|
</n-checkbox-group>
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Radio Group" path="radioGroupValue">
|
2020-02-14 15:27:45 +08:00
|
|
|
<n-radio-group v-model="model.radioGroupValue" name="radiogroup1">
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-radio value="Radio 1">Radio 1</n-radio>
|
|
|
|
<n-radio value="Radio 2">Radio 2</n-radio>
|
|
|
|
<n-radio value="Radio 3">Radio 3</n-radio>
|
|
|
|
</n-radio-group>
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Radio Button Group" path="radioGroupValue">
|
2020-02-14 15:27:45 +08:00
|
|
|
<n-radio-group v-model="model.radioGroupValue" name="radiogroup2">
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-radio-button value="Radio 1">Radio 1</n-radio-button>
|
|
|
|
<n-radio-button value="Radio 2">Radio 2</n-radio-button>
|
|
|
|
<n-radio-button value="Radio 3">Radio 3</n-radio-button>
|
|
|
|
</n-radio-group>
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Input Number" path="inputNumberValue">
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-input-number v-model="model.inputNumberValue"/>
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Time Picker" path="timePickerValue">
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-time-picker v-model="model.timePickerValue" />
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Slider" path="sliderValue">
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-slider v-model="model.sliderValue" :step="5"/>
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-row label="Transfer" path="transferValue">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-transfer
|
|
|
|
v-model="model.transferValue"
|
|
|
|
:options="generalOptions"
|
|
|
|
/>
|
|
|
|
</n-form-item-row>
|
|
|
|
<n-form-item-row :gutter="[28, 0]" label="Nested Path">
|
|
|
|
<n-row :gutter="[28, 0]" >
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-col :span="12" path="nestedValue.path1">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-input placeholder="Nested Path 1" v-model="model.nestedValue.path1"/>
|
|
|
|
</n-form-item-col>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-form-item-col :span="12" path="nestedValue.path2">
|
2019-11-09 13:38:06 +08:00
|
|
|
<n-select placeholder="Nested Path 2" :options="generalOptions" v-model="model.nestedValue.path2"/>
|
|
|
|
</n-form-item-col>
|
|
|
|
</n-row>
|
|
|
|
</n-form-item-row>
|
2019-11-11 12:44:36 +08:00
|
|
|
<n-row>
|
2019-11-09 00:25:06 +08:00
|
|
|
<n-col :span="24">
|
|
|
|
<div style="display: flex; justify-content: flex-end;">
|
|
|
|
<n-button @click="handleValidateButtonClick" round type="primary">Validate</n-button>
|
|
|
|
</div>
|
|
|
|
</n-col>
|
|
|
|
</n-row>
|
|
|
|
</n-form>
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
{{ JSON.stringify(model, 0, 2) }}
|
|
|
|
</pre>
|
|
|
|
```
|
|
|
|
|
|
|
|
```js
|
|
|
|
export default {
|
|
|
|
data () {
|
|
|
|
return {
|
2020-03-03 14:34:24 +08:00
|
|
|
size: 'medium',
|
2019-11-09 00:25:06 +08:00
|
|
|
model: {
|
2019-11-09 13:38:06 +08:00
|
|
|
inputValue: null,
|
|
|
|
textareaValue: null,
|
|
|
|
selectValue: null,
|
|
|
|
multipleSelectValue: null,
|
|
|
|
datetimeValue: null,
|
|
|
|
nestedValue: {
|
|
|
|
path1: null,
|
|
|
|
path2: null
|
2019-11-09 00:25:06 +08:00
|
|
|
},
|
2019-11-09 13:38:06 +08:00
|
|
|
switchValue: false,
|
2019-11-09 00:25:06 +08:00
|
|
|
checkboxGroupValue: null,
|
|
|
|
radioGroupValue: null,
|
|
|
|
radioButtonGroupValue: null,
|
|
|
|
inputNumberValue: null,
|
|
|
|
timePickerValue: null,
|
2019-11-09 13:38:06 +08:00
|
|
|
sliderValue: 0,
|
|
|
|
transferValue: null
|
2019-11-09 00:25:06 +08:00
|
|
|
},
|
|
|
|
generalOptions: [
|
|
|
|
'groode',
|
|
|
|
'veli good',
|
|
|
|
'emazing',
|
|
|
|
'lidiculous'
|
|
|
|
].map(v => ({
|
|
|
|
label: v,
|
|
|
|
value: v
|
2019-11-11 12:44:36 +08:00
|
|
|
})),
|
|
|
|
rules: {
|
|
|
|
inputValue: {
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'input'],
|
|
|
|
message: 'Please input inputValue'
|
|
|
|
},
|
|
|
|
textareaValue: {
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'input'],
|
|
|
|
message: 'Please input textareaValue'
|
|
|
|
},
|
|
|
|
selectValue: {
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'change'],
|
|
|
|
message: 'Please select selectValue'
|
|
|
|
},
|
|
|
|
multipleSelectValue: {
|
|
|
|
type: 'array',
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'change'],
|
|
|
|
message: 'Please select multipleSelectValue'
|
|
|
|
},
|
|
|
|
datetimeValue: {
|
|
|
|
type: 'number',
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'change'],
|
|
|
|
message: 'Please input datetimeValue'
|
|
|
|
},
|
|
|
|
nestedValue: {
|
|
|
|
path1: {
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'input'],
|
|
|
|
message: 'Please input nestedValue.path1'
|
|
|
|
},
|
|
|
|
path2: {
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'change'],
|
|
|
|
message: 'Please input nestedValue.path2'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
checkboxGroupValue: {
|
|
|
|
type: 'array',
|
|
|
|
required: true,
|
|
|
|
trigger: 'change',
|
|
|
|
message: 'Please select checkboxGroupValue'
|
|
|
|
},
|
|
|
|
radioGroupValue: {
|
|
|
|
required: true,
|
|
|
|
trigger: 'change',
|
|
|
|
message: 'Please select radioGroupValue'
|
|
|
|
},
|
|
|
|
radioButtonGroupValue: {
|
|
|
|
required: true,
|
|
|
|
trigger: 'change',
|
|
|
|
message: 'Please select radioButtonGroupValue'
|
|
|
|
},
|
|
|
|
inputNumberValue: {
|
|
|
|
type: 'number',
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'change'],
|
|
|
|
message: 'Please input inputNumberValue'
|
|
|
|
},
|
|
|
|
timePickerValue: {
|
|
|
|
type: 'number',
|
|
|
|
required: true,
|
|
|
|
trigger: ['blur', 'change'],
|
|
|
|
message: 'Please input timePickerValue'
|
|
|
|
},
|
|
|
|
sliderValue: 0,
|
|
|
|
transferValue: {
|
|
|
|
type: 'array',
|
|
|
|
required: true,
|
|
|
|
trigger: 'change',
|
|
|
|
message: 'Please input transferValue'
|
|
|
|
}
|
|
|
|
}
|
2019-11-09 00:25:06 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
handleValidateButtonClick (e) {
|
|
|
|
e.preventDefault()
|
2019-11-28 11:05:54 +08:00
|
|
|
this.$refs.form.validate(errors => {
|
|
|
|
if (!errors) {
|
|
|
|
this.$NMessage.success('Valid')
|
2019-11-27 17:23:24 +08:00
|
|
|
} else {
|
2019-11-28 11:05:54 +08:00
|
|
|
console.log(errors)
|
|
|
|
this.$NMessage.error('Invalid')
|
2019-11-27 17:23:24 +08:00
|
|
|
}
|
|
|
|
})
|
2019-11-09 00:25:06 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|